javascript - 理解一个 javascript 代码片段

标签 javascript

早上好!

我希望这个平台上的人能解释一下跟随JS的逐行工作

<script>
    /*<![CDATA[*/
    (function(w, a, b, d, s) {
        w[a] = w[a] || {};
        w[a][b] = w[a][b] || {
            q: [],
            track: function(r, e, t) {
                this.q.push({
                    r: r,
                    e: e,
                    t: t || +new Date
                });
            }
        };
        var e = d.createElement(s);
        var f = d.getElementsByTagName(s)[0];
        e.async = 1;
        e.src = '//flintnet.actonservice.com/cdnr/94/acton/bn/tracker/17118';
        f.parentNode.insertBefore(e, f);
    })(window, 'ActOn', 'Beacon', document, 'script');
    ActOn.Beacon.track(); /*]]>*/
</script>

我对 JS 有很好的应用知识,但我无法完全理解它!谢谢!

最佳答案

本质上是这样

window.ActOn = window.Acton || {}; // create ActOn global if it doesn't exist
window.Acton.Beacon = window.Acton.Beacon || { // create Beacon object on ActOn if it doesn't exist
    q: [], // an empty array
    track: function(r, e, t) { // function to push {r: arg1, e: arg2, t: arg3 || now} onto q
        this.q.push({
            r: r,
            e: e,
            t: t || +new Date
        });
    }
};
var e = document.createElement('script'); // create a script element
var f = document.getElementsByTagName('script')[0]; // find the first script in the document
e.async = 1; // set async = "1" on the new script element
e.src = '//flintnet.actonservice.com/cdnr/94/acton/bn/tracker/17118'; // set the source of the script element
f.parentNode.insertBefore(e, f); // insert the script as the top most script on the page - this will fail on a page with no scripts

ActOn.Beacon.track(); // add a "track" to beacon.q = { r: undefined, e: undefined, t: now }

关于javascript - 理解一个 javascript 代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32344364/

相关文章:

javascript - 有没有办法从java代码执行javascript函数

javascript - 从网站 url 调用 jQuery 对话框

javascript - 尝试使用 d3.js 构建图形

Javascript:如何将纪元转换为 dd-mm-yyyy

javascript - 在 leaflet.js 中自定义放大/缩小按钮

javascript - 具有固定列和标题的纯 CSS/HTML/Javascript 2D 可滚动表格

javascript - 如何检查控制台中是否有特定错误?

javascript - 当用户设置另一个选择值时,如何通过Javascript设置一个选择值?

php - 从 MySQL 编码 Json

javascript - 从数组动态生成嵌套树对象