摘要:
相同点: 1:都是用来存储客户端临时信息的对象。 2:只能存储字符串类型的对象 3:使用相同的API: setItem方法设置 不同点: 1:localStorage生命周期是永久,除非被清洗否则一直存在,sessionstorage生命周期为当前窗口或标签页 2:相同浏览器的不同页面间可以共享相同 阅读全文
摘要:
简单理解为,函数中,参数传递过程中前面的参数接收后,剩余的参数。 arguments是一个伪数组(Array-like) 剩余参数是一个真正数组(Array),具有Array.prototype上的所有方法 arguments上有callee,callee上有caller 阅读全文
摘要:
ES6标准新增了一种新的函数,箭头函数相当于匿名函数,并且简化了函数定义。但与匿名函数有所不同,区别在this 1、箭头函数没有自己的this。箭头函数会捕获其所在上下文的 this 值,作为自己的 this 值。 2、箭头函数 this 不可变。call()、apply()、bind()、这些方法 阅读全文
摘要:
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 下面就是我的学习笔记,对于Javascript初学者应该是很有用的。 一、js链式作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 1.全局变量和局部变量。 2.js中当前 阅读全文
摘要:
每个函数都包含两个非继承而来的方法:call()方法和apply()方法。 call和apply可以用来重新定义函数的执行环境,也就是this的指向;call和apply都是为了改变某个函数运行时的context,即上下文而存在的,换句话说,就是为了改变函数体内部this的指向。 语法 call() 阅读全文
摘要:
ES5如何实现继承 一.原型链继承 原型链继承的原理很简单,直接让子类的原型对象指向父类实例,当子类实例找不到对应的属性和方法时,就会往它的原型对象,也就是父类实例上找,从而实现对父类的属性和方法的继承 function Prant() { this.name = 'hello' } Prant.p 阅读全文
摘要:
forEach语法 与for循环一样,forEach也属于完整遍历数组的方法,并会对数组每项元素执行提供的回调函数,一个完整的forEach应该是这样,我们一一解释回调函数的参数,与后方的this有何作用。 arr.forEach(function(self,index,arr){},this); 阅读全文
摘要:
JS中的原型和原型链 讲原型的时候,我们应该先要记住以下几个要点,这几个要点是理解原型的关键: 1、所有的引用类型(数组、函数、对象)可以自由扩展属性(除null以外)。 2、所有的引用类型都有一个’_ _ proto_ _'属性(也叫隐式原型,它是一个普通的对象)。 3、所有的函数都有一个’pro 阅读全文