js中的值類型和引用類型小結 文字說明與實例
更新時間:2010年12月12日 18:58:39 作者:
下面就舉例講一下這兩種類型在JavaScript中的體現(xiàn)、用法及注意事項。
一、擁抱JavaScript
曾經(jīng)名不經(jīng)傳的JavaScript隨著AJAX的流行而身價倍增,現(xiàn)在JavaScript不再僅僅是WEB開發(fā)中一個可有可無的輔助工具,甚至有了專門屬于它的職位“JavaScript工程師”,那怕你僅僅是一名WEB后臺開發(fā)程序員,你都必須了解JavaScript,至少在一些相關招聘職位要求上你可以看到“熟悉JavaScript優(yōu)先”的字眼。甚至我還要告訴你,你將可以用JavaScript開發(fā)桌面軟件,這得益于Adobe AIR的另外一種開發(fā)模式,即用HTML+CSS+JavaScript開發(fā)AIR。
二、值類型和引用類型話題
隨著部分有大型面向對象語言基礎朋友的介入,他們試著用JavaScript去模擬面像對象的各種特征,盡管有些模擬顯得較為牽強,但也讓我們見識到了JavaScript的強大與靈活性。本文暫不探討JavaScript面向對象編程技術。就講講JavaScript中的兩種變量類型:即值類型和引用類型,這通常又會讓你聯(lián)想到“堆棧”,另外還有“引用地址”或“指針”相關概念,有過Java或C#編程經(jīng)驗的人相信對這兩種類型不陌生。下面就舉例講一下這兩種類型在JavaScript中的體現(xiàn)、用法及注意事項。
三、JavaScript值類型和引用類型有哪些
(1)值類型:數(shù)值、布爾值、null、undefined。
(2)引用類型:對象、數(shù)組、函數(shù)。
四、如何理解值類型和引用類型及舉例
我們可以用“連鎖店”和“連鎖店鑰匙”來理解,不知道以下比喻合不合適,^-^。
(1)值類型理解:變量的交換等于在一個新的地方按照連鎖店的規(guī)范標準(統(tǒng)一店面理解為相同的變量內容)新開一個分店,這樣新開的店與其它舊店互不相關、各自運營。
【值類型例子】
function chainStore()
{
var store1='Nike China';
var store2=store1;
store1='Nike U.S.A.';
alert(store2); //Nike China
}
chainStore();
//把一個值類型(也可以叫基本類型)store2傳遞給另一個變量(賦值)時,其實是分配了一塊新的內存空間,因此改變store1的值對store2沒有任何影響,因為它不像引用類型,變量的交換其實是交換了指像同一個內容的地址。
(2)引用類型理解:變量的交換等于把現(xiàn)有一間店的鑰匙(變量引用地址)復制一把給了另外一個老板,此時兩個老板同時管理一間店,兩個老板的行為都有可能對一間店的運營造成影響。
【引用類型例子】
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的值,發(fā)現(xiàn)store2的值也發(fā)生了改變,這正是引用類型的特征,也是我們要注意的地方。
曾經(jīng)名不經(jīng)傳的JavaScript隨著AJAX的流行而身價倍增,現(xiàn)在JavaScript不再僅僅是WEB開發(fā)中一個可有可無的輔助工具,甚至有了專門屬于它的職位“JavaScript工程師”,那怕你僅僅是一名WEB后臺開發(fā)程序員,你都必須了解JavaScript,至少在一些相關招聘職位要求上你可以看到“熟悉JavaScript優(yōu)先”的字眼。甚至我還要告訴你,你將可以用JavaScript開發(fā)桌面軟件,這得益于Adobe AIR的另外一種開發(fā)模式,即用HTML+CSS+JavaScript開發(fā)AIR。
二、值類型和引用類型話題
隨著部分有大型面向對象語言基礎朋友的介入,他們試著用JavaScript去模擬面像對象的各種特征,盡管有些模擬顯得較為牽強,但也讓我們見識到了JavaScript的強大與靈活性。本文暫不探討JavaScript面向對象編程技術。就講講JavaScript中的兩種變量類型:即值類型和引用類型,這通常又會讓你聯(lián)想到“堆棧”,另外還有“引用地址”或“指針”相關概念,有過Java或C#編程經(jīng)驗的人相信對這兩種類型不陌生。下面就舉例講一下這兩種類型在JavaScript中的體現(xiàn)、用法及注意事項。
三、JavaScript值類型和引用類型有哪些
(1)值類型:數(shù)值、布爾值、null、undefined。
(2)引用類型:對象、數(shù)組、函數(shù)。
四、如何理解值類型和引用類型及舉例
我們可以用“連鎖店”和“連鎖店鑰匙”來理解,不知道以下比喻合不合適,^-^。
(1)值類型理解:變量的交換等于在一個新的地方按照連鎖店的規(guī)范標準(統(tǒng)一店面理解為相同的變量內容)新開一個分店,這樣新開的店與其它舊店互不相關、各自運營。
【值類型例子】
復制代碼 代碼如下:
function chainStore()
{
var store1='Nike China';
var store2=store1;
store1='Nike U.S.A.';
alert(store2); //Nike China
}
chainStore();
//把一個值類型(也可以叫基本類型)store2傳遞給另一個變量(賦值)時,其實是分配了一塊新的內存空間,因此改變store1的值對store2沒有任何影響,因為它不像引用類型,變量的交換其實是交換了指像同一個內容的地址。
(2)引用類型理解:變量的交換等于把現(xiàn)有一間店的鑰匙(變量引用地址)復制一把給了另外一個老板,此時兩個老板同時管理一間店,兩個老板的行為都有可能對一間店的運營造成影響。
【引用類型例子】
復制代碼 代碼如下:
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的值,發(fā)現(xiàn)store2的值也發(fā)生了改變,這正是引用類型的特征,也是我們要注意的地方。
相關文章
RGB轉換實現(xiàn)代碼,淘寶前端開發(fā)工程師筆試題
寫一個轉換RGB的值的函數(shù),實現(xiàn)以下效果。2010-11-11
Javascript中數(shù)組sort和reverse用法分析
這篇文章主要介紹了Javascript中數(shù)組sort和reverse用法,實例分析了sort和reverse使用時的注意事項與相關技巧,具有不錯的參考借鑒價值,需要的朋友可以參考下2014-12-12
swiper動態(tài)改變滑動內容的實現(xiàn)方法
假設當前顯示的是1,往左滑動一個遞減1,往右滑動一個遞增1。下面通過實例代碼給大家講解swiper動態(tài)改變滑動內容的實現(xiàn)方法,感興趣的朋友一起看看吧2018-01-01
淺析BootStrap模態(tài)框的使用(經(jīng)典)
Bootstrap Modals(模態(tài)框)是使用定制的 Jquery 插件創(chuàng)建的。本文給大家介紹BootStrap模態(tài)框的使用,感興趣的朋友一起學習吧2016-04-04

