JavaScript 一段代码解释

标签 javascript jquery

查看这段 JavaScript 代码:

(function (w, d) {
    var loader = function () {
        var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0];
        s.src = "https://example.org/script.js";
        tag.parentNode.insertBefore(s,tag);
    };
    w.addEventListener ? w.addEventListener("load", loader, false) :
                         w.attachEvent("onload", loader);
}) (window, document);

这段代码的作者为什么使用这种方法在文档中包含脚本? 该行有什么用处:

w.addEventListener ? w.addEventListener("load", loader, false) :
                     w.attachEvent("onload", loader);

最后一点:我是 JavaScript 初学者,最后的 (window, document) 是什么?

最佳答案

第一个问题,代码检查是否定义了window.addEventListener。如果是,则使用它,否则使用window.attachEvent。这是为了浏览器兼容性。

第二个问题,这段代码是一个匿名函数,它有两个参数,w和d。该函数会立即调用,并传递参数 windowdocument

关于JavaScript 一段代码解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067829/

相关文章:

javascript - Flask:为什么定义变量时ajax数据的内容会改变?

Jquery tablesorter 行悬停

javascript - 根据字段值在文档准备好时设置类

javascript - 如何在Jquery地址插件中自定义/#/

javascript - 确认在输入框中输入的数据并按 ENTER 显示在显示框中

javascript - Tablesorter jQuery ZebraStrip 不工作

javascript - 如何选择,聚焦文本区域?

javascript - js如何让弹窗只出现一次?

javascript - 从当前点击的td和当前行的第一个td获取隐藏字段

javascript - 从数组中的值范围与 javaScript 中的给定值获取关联值