技术
sun6sian
这个作者很懒,什么都没留下…
展开
-
Object.freeze函数使用
刷到一道关于Object.freeze方法的面试题,题目如下下列哪一项会对对象person有副作用const person = { name: 'jing', address: { street: '海淀区', },}Object.freeze(person)A. person.name = 'Evan';B. delete person.address;C. person.address.street = '朝阳区';D. person原创 2020-07-02 11:37:51 · 312 阅读 · 0 评论 -
六大设计原则-单一职责原则
定义单一职责原则,英文名称是Single responsibility principle,简称SRP。单一职责原则要求一个类或接口只有一个原因引起变化,也就是一个类或接口只有一个职责。优点复杂性降低,实现的职责有清晰明确的定义; 可读性提高; 可维护性提高; 变更引起的风险性降低代码实践一般我们经常接触到系统都会有设置密码、修改昵称等,用户信息和行为的维护,我们把这些都写在用户管理类中,代码清单如下所示class UserInfo { private password原创 2020-07-01 18:15:15 · 165 阅读 · 0 评论 -
设计模式——模板方法模式
模板方法模式学习一、定义和组成模板方法模式有两部分组成抽象父类 具体实现的子类通常是在父类中定义算法骨架和一些公共的方法,子类继承父类方法的基础上,不修改算法骨架,重新定义父类中算法的某些实现步骤。二、应用场景多个子类拥有公共的方法,且逻辑相同,可以提取到父类中实现 父类实现不变的部分,并将可变行为交给子类来实现 需要通过子类来决定父类中某个步骤是否执行,实现子类对父类的反控制三、例子讲解我们去银行取钱、存钱、办卡等业务的时候,都需要三大步骤:排队取号; 办理具体的业原创 2020-07-01 18:13:56 · 237 阅读 · 0 评论 -
iview相关问题
1、表单中只有一个input标签,在该元素上回车键引起页面刷新问题; 原因:w3c标准中,表单只有一个input元素时,在该元素上回车会出发提交操作;解决方法:阻止该input元素默认的回车事件即可。2、iview的表格列render函数中路由方法不生效问题 原因:组件初始化完毕后,render函数中的this指向当前的class类,不是Vue实例,所以不是在当前类...原创 2020-03-20 12:19:52 · 167 阅读 · 0 评论 -
JavaScript中this指向问题
关于this对象this对象是在运行时基于函数的执行环境绑定的;this大致分为四类一、直接函数调用在全局函数中,this等于windowconst name = 'sun';function getName() { return this.name;}getName(); // sun二、函数作为某个对象的方法调用时this等于那个对象,匿名函数的执行环...原创 2020-03-20 11:02:59 · 104 阅读 · 0 评论 -
js数组去重的10种方法
Methods 1: 思路:定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中。 function unique(arr) { let newArr = [arr[0]]; for (let i = 1; i < arr.length; i++) { ...原创 2018-08-07 20:23:34 · 112478 阅读 · 10 评论 -
JavaScript中的事件委托详解
内存和性能在JavaScript中,添加到页面上的时间处理程序数量将直接关系到页面的整体运行性能。导致这一问题的原因是多方面的。首先,每个函数都是一个对象,都会占用内存;内存中的对象越多,性能就越差。其次,必须事先指定所有事件处理程序而导致的DOM访问次数,会延迟整个页面的交互就绪时间。事件委托对“事件处理程序过多”问题的解决方案就是事件委托。事件委托利用了事件冒泡,只指定一个事件处理...原创 2018-08-06 16:58:16 · 189 阅读 · 0 评论 -
前端之状态码
1XX:指示信息——表示请求已经接收,继续处理。 2XX:成功——表示请求已被成功接收、理解、接受。 3XX:重定向——要完成请求必须进行更进一步的操作。4XX:客服端错误——请求有语法错误或者请求无法实现。3XX:服务器错误——服务器未能实现合法的请求。平常遇到的状态码200 ok 请求成功(其后是对post和get请求的应答文档)。201 created 请...原创 2018-08-06 16:08:21 · 1988 阅读 · 1 评论 -
JavaScript中的null和undefined的区别
1、null表示没有对象,即该处不应该有值,用法如下:作为函数的参数,表示该函数的参数不是对象; 作为原型链的终点。2、undefined表示缺少值,就是此处应该有一个值,但是还没有定义,情况如下:变量被声明了,但没有赋值时,就等于undefined; 调用函数时,应该提供的参数没有提供,该参数等于undefined; 对象没有赋值的属性,该属性的值为undefined;...原创 2018-08-06 15:50:53 · 214 阅读 · 0 评论 -
typeof与instanceof的区别
1、typeof是一元运算符,返回值为字符串,该字符串用来说明运算数的数据类型(string、number、boolean、object、undefined、function),我们可以使用 typeof 来获取一个变量是否存在,如 if(typeof a!="undefined"){alert("ok")},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错,对于 Array,Nu...原创 2018-08-06 15:45:14 · 537 阅读 · 0 评论 -
js中数组的filter过滤器的理解
定义和用法filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。注意: filter() 不会对空数组进行检测。注意: filter() 不会改变原始数组。语法array.filter(function(currentValue,index,arr), thisValue)参数说明参数 描述 function(curr...原创 2018-08-04 11:38:38 · 23233 阅读 · 0 评论 -
Vue里给v-html元素添加样式
<template> <div class="hello"> <section> <h2 class="title">{{news.title}}</h2> <p class="news-time">{{news.datetime}}<原创 2018-06-25 17:00:40 · 19748 阅读 · 4 评论 -
css选择器权重计算规则
css继承是从一个元素向其后代元素传递属性值所采用的机制。确定应当向一个元素应用哪些值时,浏览器不仅要考虑继承,还要考虑声明的特殊性,另外需要考虑声明本身的来源。这个过程就称为层叠。——《css权威指南》优先级是决定不同选择器的相同样式规则对同一元素的生效情况,优先级高的将覆盖优先级低的样式规则。而优先级又受到样式来源和选择器特殊性的影响,下面我们一起来了解以下。一、样式类型<h1 ...原创 2018-06-07 23:04:34 · 191 阅读 · 0 评论 -
移动端链接、点击事件、输入框去除背景高亮
移动端用户点击一个链接,或者js的点击事件会出现一个边框或者半透明灰色遮罩如何去掉?a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0;)//chrome内核去除背景高亮-moz-tap-highlight-color: rgba(0,0,0,0;)//Firefox内核去除背景高亮-o-tap-highli...原创 2018-06-07 21:41:48 · 728 阅读 · 0 评论