詳解JavaScript的變量和數(shù)據(jù)類(lèi)型
對(duì)于一門(mén)編程語(yǔ)言,肯定包含變量和數(shù)據(jù)類(lèi)型。今天我們就來(lái)看看JavaScript腳本語(yǔ)言的變量和數(shù)據(jù)類(lèi)型。相對(duì)
于其他的Java,C++等高級(jí)程序語(yǔ)言,JavaScript顯得很簡(jiǎn)單。
一、變量
JavaScript的變量是松散類(lèi)型的,所謂松散就是用來(lái)保存任何類(lèi)型的數(shù)據(jù)。變量是存儲(chǔ)信息的容器。定義變量時(shí)要使用var操作符(var是關(guān)鍵字),后面跟一個(gè)變量名(變量名是標(biāo)識(shí)符)。變量也就是初始化后可以再次改變的量。
那么我們來(lái)看看實(shí)例:
<span style="font-size:18px;">var x=2; var y=3; var z=2+3; document.write(x + "<br>"); document.write(y + "<br>"); document.write(z + "<br>");</span>
就像代數(shù)那樣:x=2,y=3,z=x+y在代數(shù)中,我們使用字母(比如x)來(lái)保存值(比如2)。通過(guò)上面的表達(dá)式z=x+y,我們能夠計(jì)算出z的值為5。在JavaScript中,這些字母被稱(chēng)為變量。因此我們可以把變量看做存儲(chǔ)數(shù)據(jù)的容器。
(1)JavaScript變量名
與代數(shù)一樣,JavaScript變量可用于存放值(比如x=2)和表達(dá)式(比如z=x+y)。變量可以使用短名稱(chēng)(比如x和y),也可以使用描述性更好的名稱(chēng)(比如age,sum, totalvolume)。
需要注意的是:
1變量必須以字母開(kāi)頭
2變量也能以 $ 和 _ 符號(hào)開(kāi)頭(不過(guò)我們不推薦這么做)
3變量名稱(chēng)對(duì)大小寫(xiě)敏感(y和Y是不同的變量)
(2)JavaScript數(shù)據(jù)類(lèi)型
JavaScript變量還能保存其他數(shù)據(jù)類(lèi)型,比如文本值(name="Bill Gates")。在JavaScript中,類(lèi)似"Bill Gates"這樣
一條文本被稱(chēng)為字符串。JavaScript變量有很多種類(lèi)型,但是現(xiàn)在,我們只關(guān)注數(shù)字和字符串。向變量分配文本值
時(shí),應(yīng)該用雙引號(hào)或單引號(hào)包圍這個(gè)值。向變量賦的值是數(shù)值時(shí),不要使用引號(hào)。如果您用引號(hào)包圍數(shù)值,該值會(huì)被
作為文本來(lái)處理。在后面有詳細(xì)的數(shù)據(jù)類(lèi)型介紹。
實(shí)例:
<span style="font-size:18px;">var pi=3.14; var name="Bill Gates"; var answer='Yes I am!'; document.write(pi + "<br>"); document.write(name + "<br>"); document.write(answer + "<br>");</span>
(3)聲明(創(chuàng)建)JavaScript變量
在JavaScript中創(chuàng)建變量通常稱(chēng)為“聲明”變量。一個(gè)好的編程習(xí)慣是,在代碼開(kāi)始處,統(tǒng)一對(duì)需要的變量進(jìn)行聲
明。聲明變量時(shí)也可以不使用var,但是不推薦使用這種。
我們使用var關(guān)鍵詞來(lái)聲明變量:var carname;
變量聲明之后,該變量是空的(它沒(méi)有值)。如需向變量賦值,請(qǐng)使用等號(hào):carname="Volvo";
不過(guò),您也可以在聲明變量時(shí)對(duì)其賦值:var carname="Volvo";
例子:我們創(chuàng)建了名為carname的變量,并向其賦值"Volvo",然后把它放入id="demo"的HTML段落中。
<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>JS變量和數(shù)據(jù)類(lèi)型</title> </head> <body> <p>點(diǎn)擊這里來(lái)創(chuàng)建變量,并顯示結(jié)果。</p> <button onclick="myFunction()">點(diǎn)擊這里</button> <p id="demo"></p> <script type="text/javascript"> function myFunction() { var carname="Volvo"; document.getElementById("demo").innerHTML=carname; } </script> </body> </html></span>
點(diǎn)擊效果:
(4)一條語(yǔ)句,多個(gè)變量
您可以在一條語(yǔ)句中聲明很多變量。該語(yǔ)句以var開(kāi)頭,并使用逗號(hào)分隔變量即可:
var name="Gates", age=56, job="CEO";
聲明也可橫跨多行:
<span style="font-size:18px;">var name="Gates", age=56, job="CEO";</span>
在計(jì)算機(jī)程序中,經(jīng)常會(huì)聲明無(wú)值的變量。未使用值來(lái)聲明的變量,其值實(shí)際上是 undefined。在執(zhí)行過(guò)以下語(yǔ)句
后,變量carname的值將是undefined:var carname;
(5)重新聲明JavaScript變量
如果重新聲明JavaScript變量,該變量的值不會(huì)丟失:在以下兩條語(yǔ)句執(zhí)行后,變量carname的值依然是"Volvo":
<span style="font-size:18px;">var carname="Volvo"; var carname;</span>
(6)JavaScript算數(shù)
您可以通過(guò)JavaScript變量來(lái)做算數(shù),使用的是 和+這類(lèi)運(yùn)算符:
例子:
<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>JS變量和數(shù)據(jù)類(lèi)型</title> </head> <body> <p>假設(shè) y=5,計(jì)算 x=y+2,并顯示結(jié)果。</p> <button onclick="myFunction()">點(diǎn)擊這里</button> <p id="demo"></p> <script type="text/javascript"> function myFunction() { var y=5; var x=y+2; var demoP=document.getElementById("demo") demoP.innerHTML="x=" + x; } </script> </body> </html></span>
點(diǎn)擊效果:
二、數(shù)據(jù)類(lèi)型
JavaScript的數(shù)據(jù)類(lèi)型包括字符串、數(shù)字、布爾、數(shù)組、對(duì)象、Null、Undefined。在講數(shù)據(jù)類(lèi)型之前我們先講一個(gè)操作符typeof。
typeof操作符
typeof操作符是用來(lái)檢測(cè)變量的數(shù)據(jù)類(lèi)型。對(duì)于值或變量使用typeof操作符會(huì)返回如下字符串:
<span style="font-size:18px;">var box='English'; alert(typeof box); alert(typeof English);</span>
上述兩種方式都是可行的。
typeof操作符可以操作變量,也可以操作字面量。雖然可以這樣使用,typeof(box),但,typeof是操作符而非內(nèi)置函數(shù)。函數(shù)是對(duì)象,不是一種數(shù)據(jù)類(lèi)型,所以,使用typeof來(lái)區(qū)分function和object是非常有必要的。
返回值是函數(shù)的例子:
<span style="font-size:18px;">function box(){ } alert(typeof box);//box是Function函數(shù),值是function box(){},類(lèi)型返回的字符串是function。</span>
(1)JavaScript擁有動(dòng)態(tài)類(lèi)型
JavaScript擁有動(dòng)態(tài)類(lèi)型。這意味著相同的變量可用作不同的類(lèi)型:
實(shí)例:
<span style="font-size:18px;">var x //x為undefined var x = 6; //x為數(shù)字 var x = "Bill"; //x為字符串</span>
(2)JavaScript字符串String類(lèi)型
字符串是存儲(chǔ)字符的變量。字符串可以是引號(hào)中的任意文本。您可以使用單引號(hào)或雙引號(hào):;
實(shí)例:可以在字符串中使用引號(hào),只要不匹配包圍字符串的引號(hào)即可
<span style="font-size:18px;">var carname1="Bill Gates"; var carname2='Bill Gates'; var answer1="Nice to meet you!"; var answer2="He is called 'Bill'"; var answer3='He is called "Bill"'; document.write(carname1 + "<br>") document.write(carname2 + "<br>") document.write(answer1 + "<br>") document.write(answer2 + "<br>") document.write(answer3 + "<br>")</span>
字符串類(lèi)型還定義了轉(zhuǎn)義字符:
(3)JavaScript數(shù)字
JavaScript只有一種數(shù)字類(lèi)型。數(shù)字可以帶小數(shù)點(diǎn),也可以不帶。Number類(lèi)型包含兩種數(shù)值:整型和浮點(diǎn)型。輸出的格式均按照十進(jìn)制數(shù)輸出。最基本的數(shù)值字面量是十進(jìn)制。也包括八進(jìn)制數(shù)值字面量,前導(dǎo)必須是0,八進(jìn)制序列(0到7,以8為基數(shù));十六進(jìn)制字面量前面兩位必須是0x,后面的是(0到9及A到F);浮點(diǎn)類(lèi)型,就是該數(shù)值中必須包含一個(gè)小數(shù)點(diǎn),并且小數(shù)點(diǎn)后面必須至少有一位數(shù)字。
1對(duì)于那些過(guò)大或過(guò)小的數(shù)值,我們可以采用科學(xué)計(jì)數(shù)法(e表示法),用e表示該數(shù)值的前面10的指數(shù)次冪。例如:
2要想確定一個(gè)數(shù)值到底是否超過(guò)了規(guī)定范圍,可以使用isFinite()函數(shù),如果沒(méi)有超過(guò),返回true,超過(guò)了返回false。
3isNaN()函數(shù)用來(lái)判斷這個(gè)值到底是不是NaN。isNaN()函數(shù)在接收到一個(gè)值后,會(huì)嘗試將這個(gè)值轉(zhuǎn)換為數(shù)值。
isNaN()函數(shù)也適用于對(duì)象。在調(diào)用isNaN()函數(shù)過(guò)程中,首先會(huì)調(diào)用value()方法,然后確定返回值是否能夠轉(zhuǎn)換為數(shù)值。如果不能,則基于這個(gè)返回值再調(diào)用toString()方法,再測(cè)試返回值。
實(shí)例:
<span style="font-size:18px;">var x1=36.00; var x2=36; var y=123e5; var z=123e-5; document.write(x1 + "<br />") document.write(x2 + "<br />") document.write(y + "<br />") document.write(z + "<br />")</span> (4)JavaScript布爾 布爾(邏輯)只能有兩個(gè)值:true或false。例如: var x=true; var y=false;
(4)JavaScript數(shù)組
數(shù)組下標(biāo)是基于零的,所以第一個(gè)項(xiàng)目是[0],第二個(gè)是[1],以此類(lèi)推。下面的代碼創(chuàng)建名為cars的數(shù)組:
<span style="font-size:18px;">var cars=new Array(); cars[0]="Audi"; cars[1]="BMW"; cars[2]="Volvo";</span> 或者: <span style="font-size:18px;">var cars=new Array("Audi","BMW","Volvo"); </span>
實(shí)例
<span style="font-size:18px;">var i; var cars = new Array(); cars[0] = "Audi"; cars[1] = "BMW"; cars[2] = "Volvo"; for (i=0;i<cars.length;i++) { document.write(cars[i] + "<br>"); }</span>
輸出的結(jié)果很容易知道。
(5)JavaScript對(duì)象
對(duì)象由花括號(hào)分隔。在括號(hào)內(nèi)部,對(duì)象的屬性以名稱(chēng)和值對(duì)的形式 (name : value) 來(lái)定義。屬性由逗號(hào)分隔:
var person={firstname:"Bill", lastname:"Gates", id:5566};
上面例子中的對(duì)象(person)有三個(gè)屬性:firstname,lastname以及id??崭窈驼坌袩o(wú)關(guān)緊要。聲明可橫跨多行:
var person={ firstname : "Bill", lastname : "Gates", id: 5566 };
對(duì)象屬性有兩種尋址方式:
實(shí)例
var person={ firstname : "Bill", lastname : "Gates", id: 5566 }; document.write(person.lastname + "<br />"); document.write(person["lastname"] + "<br />");
(6)Undefined和Null
Undefined這個(gè)值表示變量不含有值??梢酝ㄟ^(guò)將變量的值設(shè)置為null來(lái)清空變量。
Undefined類(lèi)型
var box; alert(typeof box);//box是Undefined類(lèi)型,值是undefined,類(lèi)型返回的字符串是undefined。
Null類(lèi)型
var box=null; alert(typeof box);//box是Null類(lèi)型,值是null,類(lèi)型返回的字符串是object。
(7)聲明變量類(lèi)型
JavaScript變量均為對(duì)象。當(dāng)您聲明一個(gè)變量時(shí),就創(chuàng)建了一個(gè)新的對(duì)象。當(dāng)聲明新變量時(shí),可以使用關(guān)鍵詞"new"來(lái)聲明其類(lèi)型:
var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object;
以上就是關(guān)于JavaScript的變量和數(shù)據(jù)類(lèi)型的全部?jī)?nèi)容介紹,希望對(duì)大家的學(xué)習(xí)有所幫助。
- javascript的數(shù)據(jù)類(lèi)型、字面量、變量介紹
- JavaScript知識(shí)點(diǎn)總結(jié)(六)之JavaScript判斷變量數(shù)據(jù)類(lèi)型
- JavaScript語(yǔ)言核心數(shù)據(jù)類(lèi)型和變量使用介紹
- 關(guān)于JavaScript的變量的數(shù)據(jù)類(lèi)型的判斷方法
- 簡(jiǎn)單介紹JavaScript的變量和數(shù)據(jù)類(lèi)型
- javascript學(xué)習(xí)筆記整理(概述、變量、數(shù)據(jù)類(lèi)型簡(jiǎn)介)
- JavaScript數(shù)據(jù)類(lèi)型和變量_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Json對(duì)象與Json字符串互轉(zhuǎn)(4種轉(zhuǎn)換方式)
- JS對(duì)象與JSON格式數(shù)據(jù)相互轉(zhuǎn)換
- JS 對(duì)象(Object)和字符串(String)互轉(zhuǎn)方法
- JS 創(chuàng)建對(duì)象(常見(jiàn)的幾種方法)
- JavaScript 變量,數(shù)據(jù)類(lèi)型基礎(chǔ)實(shí)例詳解【變量、字符串、數(shù)組、對(duì)象等】
相關(guān)文章
JavaScript獲取頁(yè)面中第一個(gè)錨定文本的方法
這篇文章主要介紹了JavaScript獲取頁(yè)面中第一個(gè)錨定文本的方法,涉及javascript操作document.archors數(shù)組的技巧,需要的朋友可以參考下2015-04-04JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名程序
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03javascript實(shí)現(xiàn)的DES加密示例
DES加密算法的方法把用戶(hù)信息在發(fā)送的時(shí)候進(jìn)行加密很實(shí)用,下面有個(gè)不錯(cuò)的示例,需要的朋友可以參考下2013-10-10JavaScript中常用的簡(jiǎn)潔高級(jí)技巧總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于JavaScript中常用的簡(jiǎn)潔高級(jí)技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Javascript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03微信小程序canvas動(dòng)態(tài)時(shí)鐘
這篇文章主要為大家詳細(xì)介紹了微信小程序canvas動(dòng)態(tài)時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10JS/CSS實(shí)現(xiàn)字符串單詞首字母大寫(xiě)功能
這篇文章主要介紹了JS/CSS實(shí)現(xiàn)字符串單詞首字母大寫(xiě)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09