首页 > 代码库 > 您是否有足够的兴趣再一次认识JavaScript?

您是否有足够的兴趣再一次认识JavaScript?

四年前,悉尼程序员Dmitry Baranovskiy在他的个人博客更新了这样一篇博文:《So, you think you know JavaScript?》 不久便在国内引发围观,俨然成了一个老生常谈的话题。

准备好了吗?如下几段代码,是在其基础上新增了几道,相信不少JSER都很眼熟。那么对于未曾见过的同学,它会帮助你对javascript核心有更深层的了解,尽管它们都偏离于实际应用之外。试着去分析他们的最终结果,在这之前切记不要用调试工具,否则就丧失了其意义。

A:不要以为它是易语言

var 弹框 = alert, 函数 = Function;function 贤心(行为){    弹框(‘此人正在‘+ 行为);};函数(‘贤心("发呆")‘)(); 

B:

if (!("a" in window)) {    var a = 1;}alert(a)

C:

var a = 1,    b = function a(x) {        x && a(--x);    };alert(a);

D:

function a(x) {    return x * 2;}var a;alert(a);

E:

function b(x, y, a) {    arguments[2] = 10;    alert(a);}b(1, 2, 3);

F:

function a() {    alert(this);}a.call(null)

G:

console.log("Why am I a " + typeof + "");

H:

var \u1000 = {  \u1001: ‘foo‘,  \u1011: ‘bar‘};console.log( \u1000.\u1001 );console.log( \u1000.\u1011 );

I:

console.log(++[[]][+[]]);

J:

var fn = function(){    return false;};(function(){    console.log(fn());    if(false){         function fn(){            return true;        }    }})();