var a = { b : function() { alert(this.c); }, c : 1 };
a.b(); (a.b)(); (a.b = a.b)(); 请问以上输出是什么? 当你搞定上面这道之后,请再看下面这道题: var foo = { bar: function () { return this.baz; }, baz: 1 }; (function () { return typeof arguments[0](); })(foo.bar);
A. "undefined" B. "object" C. "number" D. "function" 第二道题出自http://www.nowamagic.net/javascript/js_PuzzleJavascriptQuiz.php OK,如果你搞定了前两道题,看下下面这面原生的练习题(太臭美了,根本和上面几乎处处一致,): var baz = 'laruence';www.2cto.com var foo = { bar: function () { alert(this.baz); }, baz: 'll' }; (f = foo.bar)();
|