12 2019 档案
摘要:一、问题由来: 上面代码中,虽然obj.foo和foo指向同一个函数,但是执行结果却不一样。 这种差异的原因就在于函数体内部使用了this关键字。很多教科书会告诉你,this指的是函数运行时所在的环境。对于obj.foo()来说,foo运行在obj环境,所以this指向obj;对于foo()来说,f
阅读全文
摘要:vue中v-model可以实现数据的双向绑定,但是为什么这个指令就可以实现数据的双向绑定呢? 其实v-model是vue的一个语法糖。即利用v-model绑定数据后,既绑定了数据,又添加了一个input事件监听。 实现原理: 1、v-bind绑定响应数据 2、触发input事件并传递数据 简单案例:
阅读全文
摘要:如上:后台返回数据中有可能包含了大量的无用数据,数据量如果过大时候会对小程序渲染界面有影响吗? 答案是:有 一般情况下我们是在wxml中循环data,然后取出我们需要的字段,其他数据和我们无关。但是小程序文档中有这么一段话: setData 是小程序开发中使用最频繁的接口,也是最容易引发性能问题的接
阅读全文
摘要:1、for...in 对数组或对象的循环/迭代操作 对于数组循环出来的是数组元素;对于对象循环出来的是对象属性 2、判断对象是否是数组/对象的元素/属性 格式:(变量 in 对象) 当‘对象’是数组时:“变量”指的是数组的“索引”; 当‘对象’为对象是,“变量”指的是对象的“属性”。
阅读全文
摘要:在js中我们都知道call/apply,还有比较少用的bind;传入的第一个参数都是改变函数当前上下文对象; call/apply区别在于传的参数不同,一个是已逗号分隔字符串,一个以数组形式。而bind和call几乎没差别只是将值返回。 可是当我们将null/undefined作为值传进去的时候呢?
阅读全文
摘要:闭包的实现原理和作用 闭包: 有权访问另一个函数作用域中的变量的函数。 创建闭包的常见方式就是,在一个函数中创建另一个函数。 闭包的作用: 访问函数内部变量、保持函数在环境中一直存在,不会被垃圾回收机制处理 因为函数内部声明 的变量是局部的,只能在函数内部访问到,但是函数外部的变量是对函数内部可见的
阅读全文
摘要:JavaScript的作用域和作用域链 作用域: 变量的作用域无非两种:全局作用域和局部作用域 全局作用域: 最外层函数定义的变量拥有全局作用域。即对任何内部函数来说都是可以访问的。 局部作用域: 和全局作用域相反,局部作用域一般只能在部分代码片段中可以访问,而对于函数外部是无法访问的。例: 需要注
阅读全文
摘要:词法作用域和动态作用域 1、作用域: 作用域是指程序代码中定义变量的区域 JavaScript采用词法作用域,也就是静态作用域 2、词法作用域和动态作用域 因为JavaScript采用的是词法作用域,函数的作用域在函数定义的时候就决定了。 而与词法作用域对应的是动态作用域,函数的作用域是在函数调用的
阅读全文
摘要:理解 es6 中class构造以及继承的底层实现原理 原文链接:https://blog.csdn.net/qq_34149805/article/details/86105123 1、ES6 class的使用 JavaScript使用的是原型式继承,通过原型的特性实现类的继承 ES6为我们提供了像
阅读全文
摘要:可以描述 new一个对象的详细过程,手动实现一个 new操作符 1. new 一个对象的详细过程:(原文地址) 首先我们看下new Person输出什么? 有属性name, age 和 __proto__ __proto__里面有原型方法show,constructor, __proto__ 然后我
阅读全文
摘要:实现继承的几种方式以及他们的优缺点(参考文档1、参考文档2、参考文档3) 要搞懂JS继承,我们首先要理解原型链:每一个实例对象都有一个__proto__属性(隐式原型),在js内部用来查找原型链;每一个构造函数都有prototype属性(显示原型),用来显示修改对象的原型,实例.__proto__=
阅读全文
摘要:理解JavaScript的执行上下文栈,可以应用堆栈信息快速定位问题(原文文档) 1、什么是执行上下文: 简而言之,执行上下文就是当前JavaScript代码被解析和执行时所在环境的抽象概念,JavaScript中运行任何的代码都是在执行上下文中运行。 2、执行上下文类型: 执行上下文总共有三种类型
阅读全文
摘要:instanceof的底层实现原理(参考文档) instanceof的实现实际上是调用JS的内部函数 [[HasInstance]] 来实现的,其实现原理是:只要右边变量的prototype在左边变量的原型链上即可。因此instanceof在查找过程中会遍历左边变量的原型链,直到找到右边变量的pro
阅读全文
摘要:理解原型设计模式以及 JavaScript中的原型规则(原文地址) 1、原型对象:我们创建的每一个函数(JavaScript中函数也是一个对象)都有一个原型属性 prototype,原型属性实质上是一个指针,它指向一个对象,这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法(通俗的说:就是
阅读全文
摘要:前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用、可手动实现一个简单的 Symbo 4. JavaScript中的变量在内存中的具体存储形式 5. 基本类型对应的内置对象,以及他们之间的装箱
阅读全文

浙公网安备 33010602011771号