摘要:創(chuàng)建數(shù)組的基本方式有兩種第一種是使用構(gòu)造函數(shù),如下所示第二種是使用數(shù)組字面量表示法,如下所示類型每個函數(shù)都是類型的實例,而且都與其他引用類型一樣具有屬性和方法。
js中有六種數(shù)據(jù)類型,包括五種基本數(shù)據(jù)類型(Number,String,Boolean,Undefined,Null),和一種復(fù)雜數(shù)據(jù)類型(Object)。
typeof 操作符
由于js中的變量是松散類型的,所以它提供了一種檢測當(dāng)前變量的數(shù)據(jù)類型的方法,也就是typeof關(guān)鍵字.
type of 123 //Number
type of "abc" //String
type of true //Boolean
type of undefined //Undefined
type of null //Object
type of { } //Object
type of [ ] //Object
type of console.log() //Function
null類型進行typeof操作符后,結(jié)果是object,原因在于,null類型被當(dāng)做一個空對象引用。
1.Number類型
Number類型包含整數(shù)和浮點數(shù)(浮點數(shù)數(shù)值必須包含一個小數(shù)點,且小數(shù)點后面至少有一位數(shù)字)兩種值。
NaN:非數(shù)字類型。特點:① 涉及到的 任何關(guān)于NaN的操作,都會返回NaN ② NaN不等于自身。
isNaN() 函數(shù)用于檢查其參數(shù)是否是非數(shù)字值。
isNaN(123) //false isNaN("hello") //true
2.String類型
字符串有l(wèi)ength屬性。
字符串轉(zhuǎn)換:轉(zhuǎn)型函數(shù)String(),適用于任何數(shù)據(jù)類型(null,undefined 轉(zhuǎn)換后為null和undefined);toString()方法(null,defined沒有toString()方法)。
3.Boolean類型
該類型只有兩個值,true和false
4.Undefined類型
只有一個值,即undefined值。使用var聲明了變量,但未給變量初始化值,那么這個變量的值就是undefined。
5.Null類型
null類型被看做空對象指針,前文說到null類型也是空的對象引用。
6.Object類型
js中對象是一組屬性與方法的集合。這里就要說到引用類型了,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)據(jù)和功能組織在一起。引用類型有時候也被稱為對象定義,因為它們描述的是一類對象所具有的屬性和方法。
三大引用類型
1.Object類型
我們看到的大多數(shù)類型值都是Object類型的實例,創(chuàng)建Object實例的方式有兩種。
第一種是使用new操作符后跟Object構(gòu)造函數(shù),如下所示
var person = new Object();
person.name = "Micheal";
person.age = 24;
第二種方式是使用對象字面量表示法,如下所示
var person = {
name : "Micheal",
age : 24
};
2.Array類型
數(shù)組的每一項可以用來保存任何類型的數(shù)據(jù),也就是說,可以用數(shù)組的第一個位置來保存字符串,第二個位置保存數(shù)值,第三個位置保存對象....另外,數(shù)組的大小是可以動態(tài)調(diào)整的。
創(chuàng)建數(shù)組的基本方式有兩種
第一種是使用Array構(gòu)造函數(shù),如下所示
var colors = new Array("red","blue","yellow");
第二種是使用數(shù)組字面量表示法,如下所示
var colors = ["red","blue","yellow"];
3 Function類型
每個函數(shù)都是Function類型的實例,而且都與其他引用類型一樣具有屬性和方法。函數(shù)通常是使用函數(shù)聲明語法定義的,如下所示
function sum(num1,num2){
return num1 + num2;
};
這和使用函數(shù)表達式定義函數(shù)的方式相差無幾。
var sun = function (){
return sum1 + sum2;
};
也就是說,js按照存儲方式分為值類型和引用類型。那么他們的計算有什么區(qū)別呢?
題目1: var a = 100;
var b = a;
a = 200;
console.log (b);
題目2: var a = {age : 20};
var b = a;
b.age = 21;
console.log (a.age);
題目1的答案是 100,題目2的答案是21,
題目1是簡單的值類型,在從一個變量向另一個變量賦值基本類型時,會在該變量上創(chuàng)建一個新值,然后再把該值復(fù)制到為新變量分配的位置上。
此時,a中保存的值為 100 ,當(dāng)使用 a 來初始化 b 時,b 中保存的值也為100,但b中的100與a中的是完全獨立的,該值只是a中的值的一個副本,此后,
這兩個變量可以參加任何操作而相互不受影響。也就是說基本類型在賦值操作后,兩個變量是相互不受影響的。
題目2是引用類型,當(dāng)從一個變量向另一個變量賦值引用類型的值時,同樣也會將存儲在變量中的對象的值復(fù)制一份放到為新變量分配的空間中。
這時保存在變量中的是對象在堆內(nèi)存中的地址,所以,與簡單賦值不同,這個值的副本實際上是一個指針,而這個指針指向存儲在堆內(nèi)存的一個對象。那么賦值操作后,
兩個變量都保存了同一個對象地址,則這兩個變量指向了同一個對象。因此,改變其中任何一個變量,都會相互影響。
因此,引用類型的賦值其實是對象保存在棧區(qū)地址指針的賦值,因此兩個變量指向同一個對象,任何的操作都會相互影響。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/93008.html
摘要:剛開始學(xué)習(xí)一門編程語言,除了了解運行環(huán)境與語言類型之外,最基本還是從該語言的基本數(shù)據(jù)類型開始學(xué)起。六大常用數(shù)據(jù)類型整數(shù)浮點數(shù)字符串列表元組字典講解這些先說一下中的變量與變量名。支持對整數(shù)和浮點數(shù)直接進行四則混合運算。 剛開始學(xué)習(xí)一門編程語言,除了了解運行環(huán)境與語言類型之外,最基本還是從該語言的基本數(shù)據(jù)類型開始學(xué)起。 Python六大常用數(shù)據(jù)類型: int 整數(shù) floa...
摘要:除此之外,在超類型的原型中定義的方法,對子類型而言也是不可兼得,結(jié)果所有類型都只能用構(gòu)造函數(shù)模式。創(chuàng)建對象增強對象指定對象繼承屬性這個例子的高效率體現(xiàn)在它只調(diào)用了一次構(gòu)造函數(shù)。 1、原型鏈 原型鏈的基本思想是利用原型讓一個引用類型繼承另一個引用類型的屬性和方法。構(gòu)造函數(shù)、原型和實例的關(guān)系:每個構(gòu)造函數(shù)都有一個原型對象;原型對象都包含著一個指向構(gòu)造函數(shù)的指針;實例都包含一個指向原型對象的...
摘要:一關(guān)閉一個流或者且不拋出異常。刪除文件或文件夾且不會拋出異常。此外,還支持等十格式化參數(shù),返回一個或者可用字符串把或者等轉(zhuǎn)換為十一加密,返回位加密加密加密加密,返回位十二是否為空根據(jù)條件篩選集合元素根據(jù)指定方法處理集合元素,類似的。 一. org.apache.commons.io.IOUtils closeQuietly 關(guān)閉一個IO流、socket、或者selector且不...
摘要:云計算是一種新型的業(yè)務(wù)交付模式,同時也是新型的基礎(chǔ)設(shè)施管理方法。云計算催生了一些優(yōu)秀的分布式文件系統(tǒng)和云存儲服務(wù)。這兩種可伸縮的分布式文件系統(tǒng)利用容錯和故障恢復(fù)機制,有效地克服了單節(jié)點故障導(dǎo)致的系統(tǒng)故障,實現(xiàn)了大規(guī)模海量級的文件存儲。云計算是一種新型的業(yè)務(wù)交付模式,同時也是新型的IT基礎(chǔ)設(shè)施管理方法。通過新型的業(yè)務(wù)交付模式,用戶將通過網(wǎng)絡(luò)充分利用優(yōu)化的硬件、軟件和網(wǎng)絡(luò)資源,并以此為基礎(chǔ)提供創(chuàng)...
閱讀 641·2021-11-24 09:39
閱讀 3485·2019-08-30 15:53
閱讀 2519·2019-08-30 15:44
閱讀 3245·2019-08-30 12:54
閱讀 2212·2019-08-29 12:23
閱讀 3309·2019-08-26 14:05
閱讀 2111·2019-08-26 13:36
閱讀 3441·2019-08-26 13:33