摘要: js高级-闭包 闭包到底是什么,在理解这个问题之前,我们先来了解一下,闭包是如何产生的,了解完闭包的产生才能对闭包有一个更好的理解 闭包的产生条件有三个: 1. 函数嵌套 2. 内嵌套函数调用了其外层嵌套函数的数据(变量/方法) 3. 执行外层嵌套函数 闭包是由外层嵌套函数执行,当其内部嵌套函数引用 阅读全文
posted @ 2020-06-22 21:03 不问心 阅读(126) 评论(0) 推荐(0) 编辑
摘要: js作用域 js的作用域我们可以理解为地盘,一个代码所在的地盘,他们互相是独立存在的一片区域,作用域的作用就是隔离变量,使不同作用域下的变量不冲突 var a =10; //全局作用域的变量a function fun(){ var a =0; //局部(函数)作用域的变量a /** * 两个变量a 阅读全文
posted @ 2020-06-21 21:00 不问心 阅读(171) 评论(0) 推荐(0) 编辑
摘要: js执行上下文对象与执行上下文栈 在了解js的执行上下文对象与执行上下文栈之前,我们要先了解两个概念 即变量提升跟函数提升 变量提升 : 通过var定义的变量,在定义语句之前我们就可以直接访问到,不过它的值是undefined 函数提升: 通过function定义的函数,在函数定义语句前,我们就可以 阅读全文
posted @ 2020-06-20 21:07 不问心 阅读(141) 评论(0) 推荐(0) 编辑
摘要: js原型与原型链 js的原型分为两种,显示原型( prototype )跟隐式原型(__proto__); 显示原型 : 每个函数在声明时,都会自动创建一个显示原型,默认指向一个空Object对象(即原型对象); 隐式原型 : 每个实例对象在创建时,也会自动创建一个隐式原型(__proto__),实 阅读全文
posted @ 2020-06-20 20:32 不问心 阅读(193) 评论(0) 推荐(0) 编辑
摘要: // 数组去重的问题 var arr = [1, 2, 3, 3, 3, 2, 1, 4, 5, 5, 7, 8, 6, 4] // 要求去除数组中重复的元素! // 外遍历循环,取出要比较的 元素 i for (var i = 0; i < arr.length; i++) { // 阅读全文
posted @ 2020-05-13 14:45 不问心 阅读(239) 评论(0) 推荐(0) 编辑