主要是第一题 1. [代码] [JavaScript]代码 /* var length = 10;function fn(){ console.log(this.length);}var obj = { length: 5, method: function(a) { a(); // ? 由于定义length用的var,所以不是全局变量这里显示undefined
1. [代码][JavaScript]代码
/* var length = 10; function fn(){ console.log(this.length); } var obj = { length: 5, method: function(a) { a(); // ? 由于定义length用的var,所以不是全局变量这里显示undefined arguments[0](); // ? 同一个函数对象,这里通过arguments对象引用来访问,所以最后显示的是arguments的length } } obj.method(fn); //就相当于一个类创建两个对象,不同的对象调用同一个方法,里面this结果是调用对象 */ /* ~function() { console.log(typeof next) // ? ~function next() { console.log(typeof next) // ? }() }(); //看成如下 (function(){ console.log(typeof next); (function next(){ console.log(typeof next); })(); })() */ /* a=3; a.prop=4; console.log(a+a.prop); //NaN //console.log(a); //console.log(a.prop); */ /* a='a'; a.prop='b'; console.log(a+a.prop); //aundefined */