字面量的问题,[].toString()可以执行,为什么{}.toString()报错?

发布于 2022-09-01 12:50:44 字数 63 浏览 8 评论 0

如题,数组字面量[]可以正常直接调用方法函数,而对象字面量{}不能直接调用函数,这是为什么呢?原理又是什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无所的.畏惧 2022-09-08 12:50:44

你要知道表達式語句不能以 { 或 function 開頭。

所以必須 ({}).toString();

或 console.log({}.toString());

這也是 IIFE 要寫成 (function() {}()) 或 !function(){}() 的原因

愿得七秒忆 2022-09-08 12:50:44

不可以吗? 我在chrome的控制台里用console.log({}.toString());试了下,能输出字符串的, 不知道你用的是什么浏览器, 字面量{}会继承Object.prototype这个原型。 你可以试下Object.prototype.toString.call({}); 看看能不能输出类型字符串。

余生一个溪 2022-09-08 12:50:44

{}.toSting 这样使用时, {} 编译器应该是将其作为代码块处理的(比如 if-else 语句中的{})。

美男兮 2022-09-08 12:50:44

这个有什么用处么?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文