(function(D, B, F) {
if (D.sdoLogger) return;
var E = {
jsName: "sdo_beacon.js",
defaultVer: 20111010,
getVersion: function() {
var _ = this.jsName,
$ = new RegExp(_ + "(\\?(.*))?$"),
D = B.getElementsByTagName("script");
for (var E = 0; E < D.length; E++) {
var C = D[E];
if (C.src && C.src.match($)) {
var A = C.src.match($)[2];
if (A && (/^[a-zA-Z0-9]+$/).test(A)) return A
}
}
return this.defaultVer
},
base64encode: function(_) {
var D = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
F, E, C, $, A, B;
return F
}
}
$.tracking();
D.sdoLogger = $
})(window, document)
这叫匿名类?那是怎么调用的呢?如果我想多了解一下这方面的知识,有什么书推荐?网络应该怎么搜?还有一个问题随便也问了吧,关于jquery的问题。$.ajax({
type : "GET",
cache : false,
url : url,
dataType : 'text',
success : function(data) { //问题的关键点,这个data数据居然可以直接传过来,是怎么实现的?
if(data == 1){
}
}
});
jQuery的那个data是在jQuery构造里面传进来的,这个需要看jQuery的API才知道他传了什么过来。
alert(arg+100);
})(20);
不明白的就是为什么200可以传到arg这个参数里??
alert(arg+100);
}(20));
文章链接,中文翻译:http://www.cnblogs.com/TomXu/archive/2011/12/31/2289423.html
英文原创(可能):http://benalman.com/news/2010/11/immediately-invoked-function-expression/
var abc=function(n){...};
abc(5);
只不过他省略了赋值这个操作,而直接把函数后面加个括号运行又有语法错误,所以用个括号把函数括起来,就成了你看见那样子。