【公告】網站目前停止所有的課程訂閱服務,原有學員權益不受影響,造成不便還請見諒,我們正在打造更多課程以及圖書,包含 Python 為主的課程主題,未來將會合併且擴充目前的課程內容,提供全新課程訂閱服務,感謝學員的支持。
【公告】《Entity Framework 實務精要》 絕版優惠學習活動,是針對最後一批少量書籍絕版的短期特別活動,只提供 20 個名額(剩 9 名),教學影片要在今年暑假過後才會重新開放訂閱,並沒有提供之前單獨購書的讀者,還請見諒, 如果您需要教學影片,屆時再請參與,也感謝讀者學員的支持,我們正在開發更多的教學內容,歡迎與我們一起努力。
《Entity Framework 實務精要》 絕版優惠學習活動》

JavaScript 的基本與物件資料型別差異

JavaScript 的資料型別相較於其它的程式語言相對單純,同樣可以分為基本資料型別與物件資料型別,這兩者的差異在於前者是不變的,而後者是可變的,這種特性在物件導向類型的程式語言中經常看到,具體的說明來以看下的程式碼:

<script>
    var x = 100;
    var o = { title: 'HTML5' };
    var y = x;
    var a = o;

    a.title = 'JavaScript';
    y = 200;

    document.write('o.title' + o.title);
    document.write('<br/>');
    document.write('x' + x);
</script>

變數 x 的值被指定給 y ,而變數 o 的值則指定給變數 a ,接下來調整 a 與 y 的值,最後輸出 o 與 x 的值,結果如下:

o.titleJavaScript
x
100

由於 x 的數值是基本型別,因此它無法被改變,所以輸出結果依然是原來的 100 ,而 o 本身為一參考物件,它的 title 屬性值透過 a 修改了,因此輸出的結果是新值「JavaScript」。

從這個範例的示範當中,我們可以更清楚的瞭解,所謂的可變值是指變數透過參考指向物件,因此其它參考的變數異動物件內容時便會受到影響。


沒有留言: