js中,(function (d) {
var ta=d.createElement("script");ta.type="text/javascript";ta.async=true;ta.id="tb-beacon";
ta.setAttribute("exparams","category=&userid=&tid=9a2828e502c2093120adab1d86b62f5f&channel=109&");
ta.src=("https:"==d.location.protocol?"https://s":"http://a")+".tbcdn.cn/s/atp.js";
d.getElementsByTagName("head")[0].appendChild(ta);
})(document);
怎么解释?

解决方案 »

  1.   

    立即执行function(d){}这个匿名函数,document是传的参数
      

  2.   

    这是定义的一个匿名函数,而最后面的document是作为默认参数传递的。js是基于对象编程,有些地方确实有点不好理解的。 //通过匿名函数的方式,来实现对象拥有私有属性
        var priObj = (function (name) {
            this.priName = name;
            return {
                getName: function () {
                    return priName;
                },
                setName: function (nname) {
                    priName = nname;
                }
            };
        })("wang");