gpt4 book ai didi

javascript - 这些模式有何不同?

转载 作者:数据小太阳 更新时间:2023-10-29 05:08:11 26 4
gpt4 key购买 nike

这是怎么做到的:

var obj = obj || {};

obj.Something = (function() {

function Something() {

};

Something.prototype.someMethod = function() {

};

return Something;

})();

不同于此:

obj.Something = function() {

};

obj.Something.prototype = {

};

模式有何不同?我什么时候会用一个而不是另一个?

最佳答案

您会使用老师推荐的方式的主要原因是您可以定义不会在全局范围内公开的其他变量和函数。

例如:

obj.Something = (function() {
var sum = 0;
function Something() {
};
Something.increment = function(){ sum++ };
Something.getSum = function(){ return sum };
return Something;
})();

这里的 sum 不是公开的,也不会污染全局命名空间。

除此之外,这两种模式非常相似。但习惯 IIFE pattern 是个好主意尤其是当您尝试了解它为什么有用而不仅仅是应用它时。

关于javascript - 这些模式有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16551257/

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