Javascript±Õ°ü£¨Closure£©
±Õ°ü£¨closure£©ÊÇJavascriptÓïÑÔµÄÒ»¸öÄѵ㣬ҲÊÇËüµÄÌØÉ«£¬ºÜ¶à¸ß¼¶Ó¦Óö¼ÒªÒÀ¿¿±Õ°üʵÏÖ¡£
ÏÂÃæ¾ÍÊÇÎÒµÄѧϰ±Ê¼Ç£¬¶ÔÓÚJavascript³õѧÕßÓ¦¸ÃÊǺÜÓÐÓõġ£
Ò»¡¢±äÁ¿µÄ×÷ÓÃÓò
ÒªÀí½â±Õ°ü£¬Ê×ÏȱØÐëÀí½âJavascriptÌØÊâµÄ±äÁ¿×÷ÓÃÓò¡£
±äÁ¿µÄ×÷ÓÃÓòÎ޷ǾÍÊÇÁ½ÖÖ£ºÈ«¾Ö±äÁ¿ºÍ¾Ö²¿±äÁ¿¡£
JavascriptÓïÑÔµÄÌØÊâÖ®´¦£¬¾ÍÔÚÓÚº¯ÊýÄÚ²¿¿ÉÒÔÖ±½Ó¶Áȡȫ¾Ö±äÁ¿¡£
¡¡¡¡var n=999;
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡alert(n);
¡¡¡¡}
¡¡¡¡f1(); // 999
ÁíÒ»·½Ã棬ÔÚº¯ÊýÍⲿ×ÔÈ»ÎÞ·¨¶ÁÈ¡º¯ÊýÄڵľֲ¿±äÁ¿¡£
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡var n=999;
¡¡¡¡}
¡¡¡¡alert(n); // error
ÕâÀïÓÐÒ»¸öµØ·½ÐèҪעÒ⣬º¯ÊýÄÚ²¿ÉùÃ÷±äÁ¿µÄʱºò£¬Ò»¶¨ÒªÊ¹ÓÃvarÃüÁî¡£Èç¹û²»Óõϰ£¬Äãʵ¼ÊÉÏÉùÃ÷ÁËÒ»¸öÈ«¾Ö±äÁ¿£¡
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡n=999;
¡¡¡¡}
¡¡¡¡f1();
¡¡¡¡alert(n); // 999
¶þ¡¢ÈçºÎ´ÓÍⲿ¶ÁÈ¡¾Ö²¿±äÁ¿£¿
³öÓÚÖÖÖÖÔÒò£¬ÎÒÃÇÓÐʱºòÐèÒªµÃµ½º¯ÊýÄڵľֲ¿±äÁ¿¡£µ«ÊÇ£¬Ç°ÃæÒѾ˵¹ýÁË£¬Õý³£Çé¿öÏ£¬ÕâÊǰ첻µ½µÄ£¬Ö»ÓÐͨ¹ý±äͨ·½·¨²ÅÄÜʵÏÖ¡£
ÄǾÍÊÇÔÚº¯ÊýµÄÄÚ²¿£¬ÔÙ¶¨ÒåÒ»¸öº¯Êý¡£
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡n=999;
¡¡¡¡¡¡¡¡function f2(){
¡¡¡¡¡¡¡¡¡¡¡¡alert(n); // 999
¡¡¡¡¡¡¡¡}
¡¡¡¡}
ÔÚÉÏÃæµÄ´úÂëÖУ¬º¯Êýf2¾Í±»°üÀ¨ÔÚº¯Êýf1ÄÚ²¿£¬Õâʱf1ÄÚ²¿µÄËùÓоֲ¿±äÁ¿£¬¶Ôf2¶¼ÊǿɼûµÄ¡£µ«ÊÇ·´¹ýÀ´¾Í²»ÐУ¬f2ÄÚ²¿µÄ¾Ö²¿±äÁ¿£¬¶Ôf1¾ÍÊDz»¿É¼ûµÄ¡£Õâ¾ÍÊÇJavascriptÓïÑÔÌØÓеēÁ´Ê½×÷ÓÃÓò”½á¹¹£¨chain scope£©£¬×Ó¶ÔÏó»áÒ»¼¶Ò»¼¶µØÏòÉÏѰÕÒËùÓи¸¶ÔÏóµÄ±äÁ¿¡£ËùÒÔ£¬¸¸¶ÔÏóµÄËùÓбäÁ¿£¬¶Ô×Ó¶ÔÏó¶¼ÊǿɼûµÄ£¬·´Ö®Ôò²»³ÉÁ¢¡£
¼ÈÈ»f2¿ÉÒÔ¶ÁÈ¡f1Öеľֲ¿±äÁ¿£¬ÄÇôֻҪ°Ñf2×÷Ϊ·µ»ØÖµ£¬ÎÒÃDz»¾Í¿ÉÒÔÔÚf1Íⲿ¶ÁÈ¡ËüµÄÄÚ²¿±äÁ¿ÁËÂð£¡
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡n=999;
¡¡¡¡¡¡¡¡function f2(){
¡¡¡¡¡¡¡¡¡¡¡¡alert(n);
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡return f2;
¡¡¡¡}
¡¡¡¡var result=f1();
¡¡¡¡result(); // 999
Èý¡¢±Õ°üµÄ¸ÅÄî
ÉÏÒ»½Ú´úÂëÖеÄf2º¯Êý£¬¾ÍÊDZհü¡£
¸÷ÖÖרҵÎÄÏ×Éϵē±Õ°ü”£¨closure£©¶¨Òå·Ç³£³éÏ󣬺ÜÄÑ¿´¶®¡£ÎÒµÄÀí½âÊÇ£¬±Õ°ü¾ÍÊÇÄܹ»¶ÁÈ¡ÆäËûº¯ÊýÄÚ²¿±äÁ¿µÄº¯Êý¡£
ÓÉÓÚÔÚJavascriptÓïÑÔÖУ¬Ö»Óк¯ÊýÄÚ²¿µÄ×Óº¯Êý²ÅÄܶÁÈ¡¾Ö²¿±äÁ¿£¬Òò´Ë¿ÉÒ԰ѱհü¼òµ¥Àí½â³É“¶¨ÒåÔÚÒ»¸öº¯ÊýÄÚ²¿µÄº¯Êý”¡£
ËùÒÔ£¬ÔÚ±¾ÖÊÉÏ£¬±Õ°ü¾ÍÊǽ«º¯ÊýÄÚ²¿ºÍº¯ÊýÍⲿÁ¬½ÓÆðÀ´µÄÒ»×ùÇÅÁº¡£
ËÄ¡¢±Õ°üµÄÓÃ;
±Õ°ü¿ÉÒÔÓÃÔ
Ïà¹ØÎĵµ£º
parseFloat ת»»³É¸¡µãÊý
parseInt ת»»³ÉÕûÊý.
ÕâÁ½¸öº¯Êý¶¼ÓÐЩÈÝ´íÐÔµÄ,±ÈÈç"123abc"»á±ä³É123.
Èç¹ûÂ¥Ö÷Ï£Íû¸ü׼ȷһЩ,Æäʵ¿ÉÒÔÅжÏÒ»ÏÂ,È»ºóÓÃeval,ÏñÕâÑù
²»¹ýÒ²¿ÉÒÔʹÓÃÕâÑùµÄ·½·¨:
var a = "234" ;
a = a.replace(/(^[\\s]*)|([\\s]*$)/g, "");
if( a !="" && !isNaN( a ) )
{//Èç¹ûÊÇÊý×Ö
a = e ......
Array×÷ΪJavaScriptµÄÒ»¸öÄÚÖöÔÏó£¬ÓÐ×ÅÇ¿´óµÄ¹¦ÄÜ£»Ïà¶ÔÓÚÆäËûÄÚÖöÔÏóÀ´Ëµ£¬ËûÓÐ×ÅÌØÊâµÄÓ÷¨£¬ÏÂÃæ¶Ô˵˵×Ô¼º¶ÔArrayµÄÓ÷¨µÄÒ»¸öС×ܽ᣺
1>ÓÃ;һ£ºÊý×é
Êý×é×î´ó´æ´¢Êý¾ÝΪËÄÊ®¶àÒÚ¸ö£¬Õâ¸ö¿Õ¼ä×ã¹»ÓÃÁË£¬ËùÒÔÊý×é¿ÉÒÔËæ±ãµÄÀ©ÈÝ¡£ÏÂÃæ¶Ô³£Óõ ......
<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
file://д/³ÉÒ»ÐÐ
-->
</SCRIPT>
²ÎÊý½âÊÍ£º
<SCRIPT LANGUAGE="javascript"&g ......
indexOf
·µ»ØÔªËØÔÚÊý×éµÄË÷Òý£¬Ã»ÓÐÔò·µ»Ø-1¡£ÓëstringµÄindexOf·½·¨²î²»¶à¡£
Èç¹ûÆäËûä¯ÀÀÆ÷ûÓÐʵÏÖ´Ë·½·¨£¬¿ÉÒÔÓÃÒÔÏ´úÂëʵÏÖ¼æÈÝ£º
Array.prototype.indexOf = function(el, start) {
var start = start || 0;
for ( var i=0; i < this.length; ++i ) {
......