(function(){
var elForm;
function getAttr() { ... }
MT.app.Deal = {
init:function() { ... }
};
MT.app.Deal.address = (function(){
return {
check:function() { ... }
};
})();
})();
[*] This section covers advanced material that you may want to skip on your first reading.
function closure(name){
var status = 1;
return {
getName:function(){ return name; },
getStatus:function(){ return status++; }
}
}
var a = closure('w3ctech');
alert(a.getName());
alert(a.getStatus());
alert(a.getStatus());
function func_scope(){
var x = 1;
if (true) {
var x = 2;
alert(x);
}
alert(x);
}
func_scope();
function a(){
var name = 'w3ctech';
return b();
function b(){ return name; }
}
alert(a());
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
return function(){
return this.name;
};
}
};
alert(object.getNameFunc()());
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
var that = this;
return function(){
return that.name;
};
}
};
alert(object.getNameFunc()());
function closure(name){
var status = 1;
return {
getName:function(){ return name; },
getStatus:function(){ return status++; }
}
}
var a = closure('w3ctech');
alert(a.getName());
alert(a.getStatus());
alert(a.getStatus());
<img id="captcha" src="/account/captcha" />
<span onclick="
(function(){
var img = document.getElementById('captcha');
var src = img.src.replace(/(\?0\.\d+)?$/, '');
img.src = src + '?' + math.random();
})();
">
看不清楚?换一张
</span>
(function(){
var $E = YAHOO.util.Event;
var elPayForm;
MT.app.Order = {
pay:function(){
$E.on('order-pay-button', 'click', function(){
elPayForm.submit();
});
}
};
})();
(function(){
var els = document.getElementsByTagName('li');
for(var i = 0, len = els.length; i < len; i++){
var el = els[i];
el.onclick = function(){
alert(el.innerHTML);
};
}
})();
(function(){
var els = document.getElementsByTagName('li');
for(var i = 0, len = els.length; i < len; i++){
var el = els[i];
el.onclick = function(){
alert(this.innerHTML);
};
}
})();
(function(){
var els = document.getElementsByTagName('li');
for(var i = 0, len = els.length; i < len; i++){
(function(el){
el.onclick = function(){
alert(el.innerHTML);
}
})(els[i])
}
})();
(function(){
var els = document.getElementsByTagName('li');
for(var i = 0, len = els.length; i < len; i++){
var el = els[i];
el.onclick = (function(x){
return function(){ alert(x.innerHTML); }
})(el);
}
})();
function test(el){
el.attachEvent("onmouseover", handler);
function handler(){
// 这里有操作el的代码
}
}
test(document.getElementById('menu'));
更多:Understanding and Solving Internet Explorer Leak Patterns