javascript &&评估

anr*_*ru 4 javascript

这是javascript代码:

var test = {
    "h" : function (a) {return a;},
    "say" : "hello"
};
Run Code Online (Sandbox Code Playgroud)

第一次运行:

test['h'] && true
Run Code Online (Sandbox Code Playgroud)

结果是真的

第二轮:

true && test['h']
Run Code Online (Sandbox Code Playgroud)

结果是函数()

我的问题是,为什么第一次运行和第二次运行产生不同的结果

Joh*_*ick 5

&&返回最后一个truthy参数.(如果存在非真实的论证,当然会返回false.)这就是&&有效的方法.