DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> 深入理解JS中的變量及作用域、undefined與null
深入理解JS中的變量及作用域、undefined與null
編輯:JavaScript綜合知識     

 本篇文章主要是對JS中的變量及作用域、undefined與null進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助

Situation One   代碼如下: <script>   var i; //全局變量   //方法名是camel命名法   //方法裡面的變量是局部變量     function sayHello(){   var x=100;   alert(x);   x++;   }   sayHello(); //輸出100   alert(x); //報錯,因為x是局部變量,訪問不到 </script>     Situation Two 代碼如下: <script> function sayHello(){   var x=100;   if(x==100){     var y=x+1;     alert(y); //輸出101   }   alert(y); //也輸出101,在方法內部,不存在塊級作用域,在C#中就不可以了!!!     for(var i=0;i<2;i++){     alert(i)   } //在for循環裡面定義的變量是塊級作用域   alert(i); //因為i是局部變量,所以輸出2   } sayHello(); </script>     注:變量使用前可以不用var聲明,這樣的變量會被認為是“全局變量”,但很少這樣用   關於undefined與null   有以下幾種情況的,變量的值為undefined 1、變量定義,但沒有賦值,則變量的值為undefined 2、調用的方法沒有返回值,在返回的值為undefined 3、對象的屬性值不存在,則返回值為undefined,如:document.ddd   Example1:    代碼如下: var xx; var yy=null;   if(xx==yy){     alert('相等');   }   else{     alert('不等'); }     輸出結果為相等,因為在進行if判斷時,浏覽器會對xx及yy進行值的判斷,因為兩者都沒有具體的值,認為他們都是false。 如果if判斷中換成===[全等於符號],則輸出不等!因為===表示要求xx及yy的數據類型和值都要相同才可以!   Example2:  代碼如下: var xx=10 var yy='10';   if(xx==yy){     alert('相等'); }   else{     alert('不等'); }     輸出相等,如果換成===,則輸出不等   Example3:    代碼如下: var n='10'; switch(n){   case 10:       alert('數字');   break;     case '10':       alert('字符串');   break; }     輸出 字符串 switch中的判斷要考慮類型   總結:if中的判斷是判斷數值,不考慮類型  
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved