javascript基礎教程(1)

在看《JavaScript基礎教程(第9版)》,敲敲筆記,另外補充補充本身的理解,看兩三章就寫成一篇。javascript

腳本放在哪裏?

建議放在以前,因爲js是單線程加載執行,若是放在之間,那麼可能在加載執行js的時候會出現頁面短暫空白的現象。css

補充說明一下,css最好放在之間,這樣能避免頁面的樣式沒有加載完成,出現頁面短暫混亂的現象。html

PS:這個和瀏覽器渲染執行機制有關,上面只是大概說說,還有更好地解釋,我如今還不知道,往後補上。java

var的做用

衆所周知,當咱們聲明一個變量時就會用到var。瀏覽器

var a的意思就是檢測目前的做用域中是否有a這個變量,若是沒有就建立,有就什麼都不作。markdown

舉個例子,定義一個函數:函數

var a = 'window';

function fn(a){
    var a;
    console.log(a)                
}

fn(a);   //window

函數執行控制檯打印出’window’,可見,函數裏var檢測到了函數做用域中存在了a,因此並無作任何事情。網站

一些人誤覺得 var a 在聲明變量a的同時會將a賦值爲undefined。spa

將一個連接節點賦值給window.location

<a id="a" href="test.html" target="">連接文字</a>

<script> oA = document.getElementById('a'); console.log(oA.toString()) //http://localhost/test.html console.log(typeof oA.toString()) //string window.location = oA //頁面跳轉到test.html頁面 </script>

防止switch語句貫穿

var i = 3;

switch (i) {
    case 1:
        //do something
        break;
    case 2:
        //do something
        break;
    default:
        //do something
        break;
}

switch語句中的case你要理解成一個入口,例如在代碼中,i若是爲1,那麼就從 ‘case 1:’ 後面的語句開始執行,若是沒有break跳出代碼,那麼會繼續往下執行。因此有時能夠像下面這樣合併狀況:線程

var i = 3;

switch (i) {
    case 1:   //case 1:後面沒有break,因此當i == 1時,也會繼續往下執行case 2的語句
    case 2:
        //do something
        break;
    default:
        //do something
        break;
}

這篇就寫這幾點,大神們勿噴,哈哈。

歡迎訪問個人我的網站:點擊進入

相關文章
相關標籤/搜索