gpt4 book ai didi

javascript - 为什么我们需要私有(private)变量?

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

它们的用途是什么以及我们如何制作它?能给我举个例子吗?

最佳答案

例如,避免与多个库发生冲突。

假设它们都使用常用的变量,例如data。如果两个库都使用私有(private)变量,那就没问题了:

var lib1 = (function() {
var data;

return {
get: function() { return data },
set: function(v) { data = v }
};
})();

// Supposed to do something different:
var lib2 = (function() {
var data;

return {
get: function() { return data },
set: function(v) { data = v }
};
})();

lib1.set(123);
lib2.set(456);
lib1.get(); // 123
lib2.get(); // 456

但是假设他们不使用私有(private)变量而是像这样的全局变量:

var lib1 = (function() {
return {
get: function() { return data },
set: function(v) { data = v }
};
})();

// Supposed to do something different:
var lib2 = (function() {
return {
get: function() { return data },
set: function(v) { data = v }
};
})();

lib1.set(123);
lib2.set(456);
lib1.get(); // 456 - overwritten by lib2. lib1 might not work properly anymore.
lib2.get(); // 456

因此,lib1.get() 将获取与 lib2.get() 相同的数据。

这个例子当然太明显了,但为了安全起见,使用私有(private)变量是一个很好的做法。

关于javascript - 为什么我们需要私有(private)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7051661/

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