日期:2014-05-16 浏览次数:20379 次
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'; var foo = { bar: function () { alert(this.baz); }, baz: 'll' }; (f = foo.bar)();