摘要: prototype是函数的内置属性,每一个function都拥有这样一个属性,在js的面向对象编程上,prototype发挥着强大的作用。某天,春哥问我你知道prototype的原理吗?我突然懵了,这个东西都知道干嘛用,怎么用,但是它的原理,确实不知道。为什么放在prototype里的方法不会在每次new对象的时候在这些对象分配资源来存放这些方法,却又可以直接调用这些方法呢?先来看看使用new关键字生成对象的时候,javascript解释器做了些什么?以 var obj = new FF(); 为例:1,先创建一个空对象2,把this指向这个空的对象3,把对象的内置属性 _proto_ 指向F 阅读全文
posted @ 2014-04-12 16:25 青椒炒蛋 阅读(2478) 评论(0) 推荐(1) 编辑
摘要: 在JavaScript开发中,被人问到:null与undefined到底有啥区别?一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。于是,细想之后,写下本文,请各位大侠拍砖。总所周知:1 null == undefined 但是:1 null !== undefined 那么这两者到底有啥区别呢?null这是一个对象,但是为空。因为是对象,所以 typeof null 返回 'object' 。null 是 JavaScript 保留关键字。null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值:表达式:123 阅读全文
posted @ 2014-04-12 11:02 青椒炒蛋 阅读(339) 评论(0) 推荐(1) 编辑