摘要: length函数的length属性是只读属性, 代表函数形参数量, 也就是函数定义时指定的期望参数个数prototype: 每个函数都包含一个prototype属性, 这个属性指向一个对象的引用, 叫做原型对象, 每个函数都包含不同的原型对象, 当函数用作构造函数是, 新创建的对象会冲原型对象上继承属性call()和apply()可以将call()和apply()看做某个对象的方法, 通过调用方法的形势调用函数, 他们的第一个实参是要调用函数的对象, 这个对象成为函数调用上下文, 函数体执行时内部this指向它的引用比如: f.call(0); f.apply(); ... 阅读全文
posted @ 2013-11-02 21:07 我的百科全书 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 函数中通过arguments可以访问所有实参在非严格模式下arguments为形参的一个别名, ecmascript 5中移除了这个特性1 function f(x)2 {3 console.log(x); // x4 arguments[0] = null;5 console.log(x); // null6 } // end f()在非严格模式下arguments只是一个标识符, 在严格模式下成为保留字, 所以严格模式下的函数不能使用arguments作为形参名称或局部变量名, 也不能给arguments赋值arguments定义了callee和caller属性, 在ec... 阅读全文
posted @ 2013-11-02 13:12 我的百科全书 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 普通函数调用: f();ecmascript3和非严格ecmascript5中this为全局对象, ecmascript5严格模式下this为undefined普通函数调用通常不关心this, 不过可以用它判断是否处于严格模式1 var strict = (function() { return !this; }());方法调用: o.m();m中的this为调用对象o方法返回this可构造链式调用this没有作用域限制, 嵌套函数不会从调用它的函数中继承this, 如果嵌套函数作为方法调用, 其this为调用它的对象. 如果作为普通函数调用, 遵守第一种调用方式嵌套函数如果需要访... 阅读全文
posted @ 2013-11-02 12:09 我的百科全书 阅读(213) 评论(0) 推荐(0) 编辑
摘要: ecmascript5 定义了Array.isArray()用于判断ecmaScript3中通过检查class属性, ecmascript5就是用的这个方法1 var isArray = Function.isArray || function(o)2 {3 return typeof o === "object" &&4 Object.prototype.toString.call(o) === "[object Array]";5 } // end isArray() 阅读全文
posted @ 2013-11-02 10:00 我的百科全书 阅读(149) 评论(0) 推荐(0) 编辑