文章目錄
- 一、擁抱JavaScript
- 二、實值型別和參考型別話題
- 三、JavaScript實值型別和參考型別有哪些
- 四、如何理解實值型別和參考型別及舉例
- 一、擁抱JavaScript
- 二、實值型別和參考型別話題
- 三、JavaScript實值型別和參考型別有哪些
- 四、如何理解實值型別和參考型別及舉例
一、擁抱JavaScript
曾經名不經傳的JavaScript隨著AJAX的流行而身價倍增,現在JavaScript不再僅僅是WEB開發中一個可有可無的協助工具輔助,甚至 有了專門屬於它的職位“JavaScript工程師”,那怕你僅僅是一名WEB後台開發程式員,你都必須瞭解JavaScript,至少在一些相關招聘職 位要求上你可以看到“熟悉JavaScript優先”的字眼。甚至我還要告訴你,你將可以用JavaScript開發案頭軟體,這得益於Adobe AIR的另外一種開發模式,即用HTML+CSS+JavaScript開發AIR。
二、實值型別和參考型別話題
隨著部分有大型物件導向語言基礎朋友的介入,他們試著用JavaScript去類比面像對象的各種特徵,儘管有些類比顯得較為牽強,但也讓我們見識 到了JavaScript的強大與靈活性。本文暫不探討JavaScript物件導向編程技術。就講講JavaScript中的兩種變數類型:即實值型別和 參考型別,這通常又會讓你聯想到“堆棧”,另外還有“引用地址”或“指標”相關概念,有過Java或C#編程經驗的人相信對這兩種類型不陌生。下面就舉例 講一下這兩種類型在JavaScript中的體現、用法及注意事項。
三、JavaScript實值型別和參考型別有哪些
(1)實值型別:數值、布爾值、null、undefined。
(2)參考型別:對象、數組、函數。
四、如何理解實值型別和參考型別及舉例
我們可以用“連鎖店”和“連鎖店鑰匙”來理解,不知道以下比喻合不合適,^-^。
(1)實值型別理解:變數的交換等於在一個新的地方按照連鎖店的規範標準(統一店面理解為相同的變數內容)新開一個分店,這樣新開的店與其它舊店互不相關、各自運營。
【實值型別例子】
function chainStore()
{
var store1='Nike China';
var store2=store1;
store1='Nike U.S.A.';
alert(store2); //Nike China
}
chainStore();
//把一個實值型別(也可以叫基本類型)store2傳遞給另一個變數(賦值)時,其實是分配了一塊新的記憶體空間,因此改變store1的值對store2沒有任何影響,因為它不像參考型別,變數的交換其實是交換了指像同一個內容的地址。
(2)參考型別理解:變數的交換等於把現有一間店的鑰匙(變數引用地址)複製一把給了另外一個老闆,此時兩個老闆同時管理一間店,兩個老闆的行為都有可能對一間店的運營造成影響。
【參考型別例子】
function chainStore()
{
var store1=['Nike China'];
var store2=store1;
alert(store2[0]); //Nike China
store1[0]='Nike U.S.A.';
alert(store2[0]); //Nike U.S.A.
}
chainStore();
//在上面的代碼中,store2隻進行了一次賦值,理論上它的值已定,但後面通過改寫store1的值,發現store2的值也發生了改變,這正是參考型別的特徵,也是我們要注意的地方。
轉載:
http://www.cnblogs.com/webflash/archive/2009/08/22/1552042.html
一、擁抱JavaScript
曾經名不經傳的JavaScript隨著AJAX的流行而身價倍增,現在JavaScript不再僅僅是WEB開發中一個可有可無的協助工具輔助,甚至 有了專門屬於它的職位“JavaScript工程師”,那怕你僅僅是一名WEB後台開發程式員,你都必須瞭解JavaScript,至少在一些相關招聘職 位要求上你可以看到“熟悉JavaScript優先”的字眼。甚至我還要告訴你,你將可以用JavaScript開發案頭軟體,這得益於Adobe AIR的另外一種開發模式,即用HTML+CSS+JavaScript開發AIR。
二、實值型別和參考型別話題
隨著部分有大型物件導向語言基礎朋友的介入,他們試著用JavaScript去類比面像對象的各種特徵,儘管有些類比顯得較為牽強,但也讓我們見識 到了JavaScript的強大與靈活性。本文暫不探討JavaScript物件導向編程技術。就講講JavaScript中的兩種變數類型:即實值型別和 參考型別,這通常又會讓你聯想到“堆棧”,另外還有“引用地址”或“指標”相關概念,有過Java或C#編程經驗的人相信對這兩種類型不陌生。下面就舉例 講一下這兩種類型在JavaScript中的體現、用法及注意事項。
三、JavaScript實值型別和參考型別有哪些
(1)實值型別:數值、布爾值、null、undefined。
(2)參考型別:對象、數組、函數。
四、如何理解實值型別和參考型別及舉例
我們可以用“連鎖店”和“連鎖店鑰匙”來理解,不知道以下比喻合不合適,^-^。
(1)實值型別理解:變數的交換等於在一個新的地方按照連鎖店的規範標準(統一店面理解為相同的變數內容)新開一個分店,這樣新開的店與其它舊店互不相關、各自運營。
【實值型別例子】
function chainStore()
{
var store1='Nike China';
var store2=store1;
store1='Nike U.S.A.';
alert(store2); //Nike China
}
chainStore();
//把一個實值型別(也可以叫基本類型)store2傳遞給另一個變數(賦值)時,其實是分配了一塊新的記憶體空間,因此改變store1的值對store2沒有任何影響,因為它不像參考型別,變數的交換其實是交換了指像同一個內容的地址。
(2)參考型別理解:變數的交換等於把現有一間店的鑰匙(變數引用地址)複製一把給了另外一個老闆,此時兩個老闆同時管理一間店,兩個老闆的行為都有可能對一間店的運營造成影響。
【參考型別例子】
function chainStore()
{
var store1=['Nike China'];
var store2=store1;
alert(store2[0]); //Nike China
store1[0]='Nike U.S.A.';
alert(store2[0]); //Nike U.S.A.
}
chainStore();
//在上面的代碼中,store2隻進行了一次賦值,理論上它的值已定,但後面通過改寫store1的值,發現store2的值也發生了改變,這正是參考型別的特徵,也是我們要注意的地方。
轉載:
http://www.cnblogs.com/webflash/archive/2009/08/22/1552042.html