javascript - Chrome 控制台中的奇怪行为

标签 javascript google-chrome google-chrome-devtools object-literal

看一下屏幕截图...

screenshot

我试验这个的原因是因为我做了一个简单的谷歌搜索如何检查参数是否是一个函数,我发现了这个......

var getClass = {}.toString;
...
function isFunctionA(object) {
    return object && getClass.call(object) == '[object Function]';
}

来源:http://jsperf.com/alternative-isfunction-implementations/4

那么我输入的内容和示例源代码之间有什么区别呢?为什么 Chrome 在仅输入 {}.toString 时会报错,但在括号内时却能正常工作?

最佳答案

{} 开头的语句有歧义,是空代码块还是对象?该定义通过将其定义为代码块来解决歧义,在语句的开头使用 {} 作为对象通过将其括在括号中使其成为表达式:({})

另请参阅对 Why does accessing a property directly on an Object literal throw a SyntaxError? 的回答

关于javascript - Chrome 控制台中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776051/

相关文章:

android - Android 和 Windows XP 的 Chrome devtools,空白窗口

javascript - 如何获取元素嵌套项

javascript - Dojo 无参数构造函数调用带参数的基础构造函数

javascript - 如何创建一个 if 语句来检查值变量是否全部非空?

php - Ajax Post 参数

macos - 为什么 macOS 系统打印比 Chrome 或 lpr 更快?

google-chrome - 如何禁用 Google Chrome 的未请求连接?

android - chrome android设置宽度为100%

google-chrome - 如何监听您使用 chrome 开发者工具所做的 DOM 更改

jquery - Chrome 脚本 Blackbox 不起作用