摘要:
面试中常会问到对this对象的理解 在函数中this到底取何值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了,也就是说this总是指向函数的直接调用者,而非间接调用者。 this的取值是执行环境的一部分,每次调用函数都会产生一个新的执行环境。 情况一:构造函数 构造函数就是用来new对 阅读全文
摘要:
在说“执行环境”前先看一段代码 上图中,第一句报错,因为a没有定义。第二句和第三句是变量提升(JS在执行前会对声明部分做完整解析,同时局部会覆盖全局) 这说明,在一段JS代码一句一句执行前,浏览器已经做了一些准备工作。其中包括对变量的声明,而不是赋值。变量赋值是在赋值语句执行时才执行的。可看下图: 阅读全文
摘要:
在JS中,对象可以随时改动。 对象或者函数,刚开始new出来,可能啥属性都没有,但是可以自己加。 在jQuery源码中,对象被创建时什么属性也没有,都是代码一步步执行时,一个个加上的。 其次如果继承的方法不合适,可以做出修改 如上图,Object和Array的toString()方法不一样。肯定是A 阅读全文