看一下截图...
我正在尝试这个的原因是因为我做了一个简单的Google搜索,检查参数是否是一个函数,我发现了这个...
var getClass = {}.toString;
...
function isFunctionA(object) {
return object && getClass.call(object) == '[object Function]';
}
来源:http://jsperf.com/alternative-isfunction-implementations/4
那么我输入的内容和示例源代码之间有什么区别?为什么Chrome在输入{}.toString
时会出错,但在括号内时可以正常工作?
答案 0 :(得分:4)
{}是不明确的,是空代码块还是对象?该定义通过将其定义为代码块来解决歧义,在语句的开头使用{}作为对象通过将其括在括号中使其成为表达式:({})
另见Why does accessing a property directly on an Object literal throw a SyntaxError?的答案