gpt4 book ai didi

javascript - 通用对象内的无符号函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:25:16 28 4
gpt4 key购买 nike

出于好奇,我今天在控制台上运行了这个

var x={function(){return 2}};

它有效。但为什么?这个无名函数是如何调用的?我认为这种语法没有任何作用

最佳答案

这里object initializer会将 x 解释为具有键 function 的对象,其中包含 function

FirefoxChrome 将解释此语句(根据其支持的 ECMAScript 版本以不同的方式解释); IE11 不会解释此语句。

也许下面的代码更清楚地说明了这一点:

window.onload = function() {

// Is an object with key "function" which holds a 'function' object
var x = {
function() {
return 2
}
};
console.log(x);

// Call the function
console.log(x.function());

// unwrap it for better clarity
var y = function() {
return 2
};
console.log(y);
var z = {
y
};
console.log(z);
console.log(z.y());
}

让我们看另一个案例:

var x = {
y() {
return 2
}
};
console.log(x);
console.log(x.y());

简短回答:虽然浏览器可以解释该语句,但 function 对于对象来说是一个错误的键名称。

关于javascript - 通用对象内的无符号函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40283883/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com