gpt4 book ai didi

javascript - jQuery 可以使用某种模块模式吗?

转载 作者:行者123 更新时间:2023-12-03 05:53:52 25 4
gpt4 key购买 nike

我在 someFile.js 中看到了这段代码:

var someObject = {};

someObject.doWork = function(){
var innerFunction = function() {
console.log('innerFunction has been called');
}

innerFunction();
}

$(someObject.doWork);

此代码是属于 durandal 项目的 bundle 的一部分。这是某种模块模式吗?看起来 jQuery 正在被用来调用一个函数。

是否有任何理由在更常见的 IIFE 上执行此操作?

someObject.doWork = (function(){
var innerFunction = function() {
console.log('innerFunction has been called');
}

innerFunction();
})();

需要明确的是,在实际代码中,someObject 位于全局命名空间中。

最佳答案

无法收集使用该特定模式的理由。 .doWork() 不返回值,也不返回原始对象。 $(someObject) 未定义为变量;至少在问题处的 javascript 处。

将对象传递给 jQuery() 的原因是要利用对象上的 jQuery 方法,其中 this[0] 是位于某个位置的原始对象。打回来;例如,

$(someObject).animate({someObject.property:someObject.property})

参见Make a rotate animation: start and end slowly, but fast in the middle

关于javascript - jQuery 可以使用某种模块模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40028073/

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