gpt4 book ai didi

Javascript:将代码包装在匿名函数中

转载 作者:行者123 更新时间:2023-11-30 08:28:39 24 4
gpt4 key购买 nike

如果我将我的脚本包装在匿名样式函数中,就像在 Coffeescript 中编译适合操作 DOM 时一样?

  • 它有什么好处?
  • 这有什么问题?
  • 我的代码更安全吗?

(function() {

this.detect = function(){
window.alert( "message" );

};

}).call(this);

最佳答案

完全合适。这通常称为 IIFE .

好处是:

  • 您可以通过“在命名空间下工作”来避免变量命名冲突 - 命名变量和设置范围:

    (function ($, DOM, ultraSelector) {

    $(DOM).find(ultraSelector); // $ is always jQuery

    })(jQuery, document, 'mySelector');

    $ = false; // here $ is not jQuery anymore
  • 您的变量在您的范围内保持管理,永远不可全局访问;和

  • 您可以'use strict' 安全地知道只有 IIFE 中的代码会受到影响:

    (function () {

    'use strict';

    globalVariable = true; // will throw error
    var scopedVariable = true; // only accessible inside this IIFE

    })();

    globalVariable = true; // will define a global variable
    var scopedVariable = true; // is not really scoped, since its scope is global

我会说它更安全,是的。至少您的变量不容易通过浏览器控制台访问。

我强烈推荐使用 IIFE,Douglas Crockford 也是如此。 - http://javascript.crockford.com/...虽然他提倡括号应该在声明中 (function(){ }())

关于Javascript:将代码包装在匿名函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41188745/

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