javascript Ö® Closure
http://javascript.crockford.com/private.html
function a() {
var i = 0;
function b() {
alert(++i);
}
return b;
}
var c = a();
c();
µ±ÔÚº¯ÊýbÖзÃÎÊÒ»¸ö±äÁ¿µÄʱºò£¬ËÑË÷˳ÐòÊÇ£º
ÏÈËÑË÷×ÔÉíµÄ»î¶¯¶ÔÏó£¬Èç¹û´æÔÚÔò·µ»Ø£¬Èç¹û²»´æÔÚ½«¼ÌÐøËÑË÷º¯ÊýaµÄ»î¶¯¶ÔÏó£¬ÒÀ´Î²éÕÒ£¬Ö±µ½ÕÒµ½ÎªÖ¹¡£
Èç¹ûº¯Êýb´æÔÚprototypeÔÐͶÔÏó£¬ÔòÔÚ²éÕÒÍê×ÔÉíµÄ»î¶¯¶ÔÏóºóÏȲéÕÒ×ÔÉíµÄÔÐͶÔÏó£¬ÔÙ¼ÌÐø²éÕÒ¡£Õâ¾ÍÊÇJavascriptÖеıäÁ¿²éÕÒ»úÖÆ¡£
Èç¹ûÕû¸ö×÷ÓÃÓòÁ´É϶¼ÎÞ·¨ÕÒµ½£¬Ôò·µ»Øundefined¡£
function Container(param) {
this.member = param;
}
var myContainer = new Container('abc'); //member='abc'
Container.prototype.stamp = function (string) {
return this.member + string;
}
myContainer.stamp('def') //member='abcdef'
function Container(param) {
//private method
function dec() {
if (secret > 0) {
secret -= 1;
return true;
} else {
return false;
}
}
this.member = param;
var secret = 3;
var that = this;
//privileged method
this.service = function () {
if (dec()) {
return that.member;
} else {
return null;
}
};
}
myContainer.service() //abc(first) null(second.....)
Ïà¹ØÎĵµ£º
substr() ·½·¨¿ÉÔÚ×Ö·û´®ÖгéÈ¡´Ó start ϱ꿪ʼµÄÖ¸¶¨ÊýÄ¿µÄ×Ö·û.
stringObject.substr(start,length);start±ØÐë,length¿ÉÑ¡.
start ÊǽØÈ¡µÄ¿ªÊ¼Î»ÖõÄϱê,´Ó0¿ªÊ¼ËãÆð,±ØÐëÊÇÊý×Ö.¿ÉÒÔÊǸºÊý,-1Êǵ¹ÊýµÚÒ»¸ö×Ö·û,-2Êǵ¹ÊýµÚ¶þ¸ö×Ö·û,ÒÔ´ËÀàÍÆ.
length ÊÇÒª½ØÈ¡µÄ×Ö·ûµÄ³¤¶È,±ØÐëÊÇÊý×Ö.Èç¹ûδָ¶¨,Ôò´ÓstartλÖô¦¿ ......
JavaScriptΪº¯Êý¶ÔÏó¶¨ÒåÁËÁ½¸ö·½·¨£ºapplyºÍcall£¬ËüÃǵÄ×÷Óö¼Êǽ«º¯Êý°ó¶¨µ½ÁíÍâÒ»¸ö¶ÔÏóÉÏÈ¥ÔËÐУ¬Á½Õß½öÔÚ¶¨Òå²ÎÊýµÄ·½Ê½ÓÐËùÇø±ð£º
Function.prototype.apply(thisArg,argArray);
Function.prototype.call(thisArg[,arg1[,arg2…]]);
´Óº¯ÊýÔÐÍ¿ÉÒÔ¿´µ½£¬µÚÒ»¸ö²ÎÊý¶¼±»È¡ÃûΪthisArg£¬¼´ËùÓк¯ÊýÄÚ²¿µ ......
ÉùÃ÷:Õâ¸öÊÇÍøÉϵÄ×ÊÁÏ,²»¹ýÎÒÔںܴó³Ì¶ÈÉϽøÐÐÁË×Ô¼ºµÄ˵Ã÷½éÉÜ,Ï£Íû´ó¼Ò»áϲ»¶¿´
1.document.write("Êä³öÄÚÈÝ");ΪÊä³öÓï¾ä
2.JSÖеÄ×¢ÊÍΪµ¥ÐÐ//ºÍ¶àÐÐ/**/
3.´«Í³µÄHTMLÎĵµË³ÐòÊÇ:document->html->(head,body)
4.Ò»¸öä¯ÀÀÆ÷´°¿ÚÖеÄDOM˳ÐòÊÇ:window->(navigator,screen,history,location,docume ......
1.document.formName.item("itemName") ÎÊÌâ
˵Ã÷:IEÏÂ,¿ÉÒÔʹÓÃdocument.formName.item("itemName")»òdocument.formName.elements["elementName"];FirefoxÏÂ,Ö»ÄÜʹÓÃdocument.formName.elements["elementName"].
½â¾ö·½·¨:ͳһʹÓÃdocument.formName.elements["elementName"].
2.¼¯ºÏÀà¶ÔÏóÎÊÌâ
˵Ã÷:IEÏÂ,¿É ......
1.ÎÞÌáʾˢÐÂÍøÒ³
´ó¼ÒÓÐûÓз¢ÏÖ£¬ÓÐÐ©ÍøÒ³£¬Ë¢ÐµÄʱºò£¬»áµ¯³öÒ»¸öÌáʾ´°¿Ú£¬µã“È·¶¨”²Å»áˢС£
¶øÓеÄÒ³Ãæ²»»áÌáʾ£¬²»µ¯³öÌáʾ´°¿Ú£¬Ö±½Ó¾ÍË¢ÐÂÁË.
Èç¹ûÒ³ÃæÃ»ÓÐform£¬Ôò²»»áµ¯³öÌáʾ´°¿Ú¡£Èç¹ûÒ³ÃæÓÐform±íµ¥
a)<
form method="post" ...> »áµ¯³öÌáʾ´°¿Ú
b)< form method="get" ...& ......