gpt4 book ai didi

Javascript 模块设计

转载 作者:行者123 更新时间:2023-11-30 18:07:33 26 4
gpt4 key购买 nike

我想知道是否有人可以解释这两个 JavaScript 模块之间的区别。我一直在尝试通过阅读一些 underscore.js 和 jQuery 源代码来学习如何设计 javascript 模块,并注意到这两种模式。

示例 1

(function() {

var _this = this;

_this.VERSION = '0.1';

}).call(this);

示例 2

(function(_this) {

_this.VERSION = '0.1';

}(this));

最佳答案

call(obj[, arg[, arg[, arg[, ...]]]])obj 上下文中运行函数,function ( ) {}(obj) 将在当前上下文中运行函数,并在参数中传递 obj。在这个特定的例子中没有区别——两个例子都会做同样的事情。对于某些人来说,使用 callapply 而不是仅仅使用 () 来运行匿名函数会更干净,我认为这里就是这种情况。

在第二个示例行中,var _this = _this; 是无用的,_this 已经在范围内定义并且该行正在重新定义具有相同值的现有变量(因此它的甚至不正确)。

关于Javascript 模块设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459678/

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