上一页 1 ··· 6 7 8 9 10 11 12 下一页
摘要: 防抖 你是否在日常开发中遇到一个问题,在滚动事件中需要做个复杂计算或者实现一个按钮的防二次点击操作。 这些需求都可以通过函数防抖动来实现。尤其是第一个需求,如果在频繁的事件回调中做复杂计算,很有可能导致页面卡顿,不如将多次计算合并为一次计算,只在一个精确点做操作。 防抖和节流的作用都是防止函数多次调 阅读全文
posted @ 2019-07-31 09:45 guangzan 阅读(327) 评论(1) 推荐(1) 编辑
摘要: 定义和用法 🍳typeof操作符返回一个字符串,表示未经计算的操作数的类型。 参数: 是一个表达式,表示对象或原始值,其类型将被返回。括号是可选的。 返回值: | 类型 | 结果 | | |: :| | Undefined | "undefined" | | Null | "object" | | 阅读全文
posted @ 2019-07-30 16:01 guangzan 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 只依赖于调用函数前的对象 以下情况优先级最高 js var c = new foo() c.a = 3 console.log(c.a) // this c` 上,不会被任何方式修改 指向 js function a() { return () ={ return () ={ console.log 阅读全文
posted @ 2019-07-30 16:01 guangzan 阅读(202) 评论(0) 推荐(0) 编辑
摘要: JS 中分为七种内置类型,七种内置类型又分为两大类型:基本类型和对象(Object)。 基本类型 null undefined boolean number string symbol 其中 JS 的数字类型是浮点类型的,没有整型。 浮点类型基于 IEEE 754标准实现,在使用中会遇到某些 Bug 阅读全文
posted @ 2019-07-30 16:00 guangzan 阅读(783) 评论(0) 推荐(1) 编辑
摘要: 运算符做了哪些事情 1.新生成了一个对象 2.链接到原型 3.绑定 this 4.返回新对象 自己实现一个 new 实例对象 对于实例对象来说,都是通过 new 产生的,无论是 function Foo() 还是 let a = { b : 1 } 。 对于创建一个对象来说,更推荐使用字面量的方式创 阅读全文
posted @ 2019-07-30 16:00 guangzan 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 定义和用法 instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。 语法: `object constructor`某个构造函数 实现 instanceof 参考资料: "前端进阶之道" 阅读全文
posted @ 2019-07-30 15:59 guangzan 阅读(1123) 评论(0) 推荐(0) 编辑
摘要: 语法糖(Syntactic sugar),也译为糖衣语法 指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。 通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。 语法糖”这个词绝非贬义词,它可以给我们带来方便,是一种便捷的写法,编译器会帮我们做转换 阅读全文
posted @ 2019-07-30 15:58 guangzan 阅读(2435) 评论(0) 推荐(0) 编辑
摘要: 当执行 JS 代码时,会产生三种执行上下文 全局执行上下文 函数执行上下文 eval 执行上下文 每个执行上下文中都有三个重要的属性 变量对象(VO),包含变量、函数声明和函数的形参,该属性只能在全局上下文中访问 作用域链(JS 采用词法作用域,也就是说变量的作用域是在定义时就决定了) this 对 阅读全文
posted @ 2019-07-30 15:58 guangzan 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 前置 从上述例子中我们可以发现,如果给一个变量赋值一个对象,那么两者的值会是同一个引用,其中一方改变,另一方也会相应改变。 通常在开发中我们不希望出现这样的问题,我们可以使用浅拷贝来解决这个问题。 浅拷贝 首先可以通过 Object.assign 来解决这个问题。 通过展开运算符(…)来解决 通常浅 阅读全文
posted @ 2019-07-30 15:57 guangzan 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 在有 Babel 的情况下,我们可以直接使用 ES6 的模块化 CommonJS规范 CommonJs 是 Node 独有的规范,浏览器中使用就需要用到 Browserify 解析了 在上述代码中,module.exports 和 exports 很容易混淆,让我们来看看大致内部实现 再来说说 mo 阅读全文
posted @ 2019-07-30 15:56 guangzan 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 转Boolean 在条件判断时,除了 undefined, null, false, NaN, '', 0, 0,其他所有值都转为 true,包括所有对象。 对象转基本类型 对象在转换基本类型时,首先会调用 valueOf 然后调用 toString。并且这两个方法你是可以重写的。 也可以重写 Sy 阅读全文
posted @ 2019-07-30 15:55 guangzan 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 定义 定义:函数 A 返回了一个函数 B,并且函数 B 中使用了函数 A 的变量,函数 B 就被称为闭包。 你是否会疑惑,为什么函数 A 已经弹出调用栈了,为什么函数 B 还能引用到函数 A 中的变量。因为函数 A 中的变量这时候是存储在堆上的。现在的 JS 引擎可以通过逃逸分析辨别出哪些变量需要存 阅读全文
posted @ 2019-07-30 15:54 guangzan 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 通过插槽分发内容 子组件中 父组件中 上面这样无法直接显示出插入的 子组件中加入`` 这样就可以显示出来了。 阅读全文
posted @ 2019-07-30 11:35 guangzan 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 组件上使用v model 等价于 当用在组件上时, 则会这样: 等同于 为了让它正常工作,这个组件内的``必须: 将其 value 特性绑定到一个名叫 的`prop`上 在其 input 事件被触发时,将新的值通过自定义的 事件抛出 Vue.component('custom input', { p 阅读全文
posted @ 2019-07-30 11:30 guangzan 阅读(2183) 评论(0) 推荐(1) 编辑
摘要: 事件名 始终使用 kebab-case 的事件名。 通过事件向父组件发送信息 子组件中EnFontsize.vue中$emit <button @click="$emit('enlarge-text')">Enlarge text</button> 父组件 <template> <div id="a 阅读全文
posted @ 2019-07-30 11:27 guangzan 阅读(3701) 评论(3) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 下一页