gpt4 book ai didi

JavaScript 对象声明

转载 作者:行者123 更新时间:2023-12-02 13:45:51 26 4
gpt4 key购买 nike

我正在构建一个加载屏幕库,它允许我从各种不同的文档中调用 Loader.Show()、Loader.Hide() 或 Loader.Step()。

我已经构建了该库,但是我不完全理解声明对象的各种方法。以下两个模型有什么区别,哪个更好?

//Example 1
var Robot = (function () {
var metal = "Steel";

return {
killAllHumans: function() {
alert(metal);
}
}
})();
Robot.killAllHumans();

//Example 2
var NonRobot = {
runState: "Normal",
run: function() {
alert(this.runState);
}
}
NonRobot.run();

我理解示例 1 和创建对象。我还了解到,在示例 1 中,metal 是一个私有(private)变量。我不知道如何在示例 2 中创建私有(private)变量。唯一的区别是范围吗?

最佳答案

此方法创建一个私有(private)上下文,您可以在其中添加自己的变量并进行一些中间评估,甚至创建私有(private)变量,例如 metal

var Robot = (function () {
var metal = "Steel";

return {
killAllHumans: function() {
alert(metal);
}
}
})();

另一方面,这个版本创建的是一个对象文字:

var NonRobot = {
runState: "Normal",
run: function() {
alert(this.runState);
}
}
NonRobot.run();

runState 不是 NonRobot 的私有(private)属性(property),它可以被外部力量操纵。

关于JavaScript 对象声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41404944/

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