Javascript對(duì)象

對(duì)象

在JavaScript里幾乎所有東西都是對(duì)象或者用起來像對(duì)象傻谁,理解了對(duì)象就能夠理解JavaScript瓷们。對(duì)象是一組有命名值(也稱為屬性)集合的容器。

  • user
property property value
living true
age 20
gender male

以上“user”一詞是一組屬性名和對(duì)應(yīng)值得標(biāo)簽,這些屬性和值構(gòu)成了user申眼。然而,JavaScript不會(huì)用表格表達(dá)蝉衣,它是用對(duì)象來表達(dá)的括尸,將上述表格轉(zhuǎn)換成實(shí)際的JavaScript對(duì)象:

//方法一
var user = new Object();
user.living = true;
user.age = 20;
user.gender = 'male';

//方法二
var user = function user(living,age,gender) {
    this.living = living;
    this.age = age;
    this.gender = gender;
}

對(duì)象只是屬性的容器,每個(gè)屬性都有一個(gè)名稱和一個(gè)值病毡。JavaScript采用具有具有命名值屬性的容器(即對(duì)象)濒翻;方法是包含F(xiàn)unction()對(duì)象的屬性,其目的是對(duì)函數(shù)內(nèi)部的對(duì)象進(jìn)行操作。


數(shù)組也是對(duì)象:

var myArray = new Array();
console.log(typeof myArray);        //Object

JavaScript內(nèi)置對(duì)象構(gòu)造函數(shù)

JavaScript語言包含9個(gè)原生(或內(nèi)置)對(duì)象構(gòu)造函數(shù)肴焊,使用這些對(duì)象來構(gòu)建JavaScript語言前联。原生對(duì)象構(gòu)造函數(shù)是多方面表達(dá)的,即它們可以生成對(duì)象娶眷,也可以被用于促進(jìn)語言的編程約定的形成似嗤。如,函數(shù)是Function()構(gòu)造函數(shù)創(chuàng)建的對(duì)象届宠,作為構(gòu)造函數(shù)烁落,使用new關(guān)鍵字調(diào)用后,它們也可以用于創(chuàng)建其他對(duì)象豌注。

  • Number()
  • String()
  • Boolean
  • Object()
  • Array()
  • Function()
  • Data()
  • RegExp()
  • Error()

Math對(duì)象是一個(gè)靜態(tài)對(duì)象伤塌,而不是構(gòu)造函數(shù)。Math只是一個(gè)由JavaScript設(shè)置的對(duì)象命名空間轧铁,用于存儲(chǔ)數(shù)學(xué)函數(shù)每聪。

原生對(duì)象也被成為“全局對(duì)象”。

JavaScript提供了叫做“字面量”的快捷方式——用于創(chuàng)建大多數(shù)原生對(duì)象齿风,而不必使用new這樣的方式药薯。大多數(shù)情況下,字面量語法與使用new操作符的效果相同救斑。但是也有例外:Number()童本、String()和Boolean()。

在針對(duì)字符串脸候、數(shù)字和布爾值使用字面量值時(shí)穷娱,只有在該值被視為對(duì)象的情況下才會(huì)創(chuàng)建實(shí)際的對(duì)象,如(var str = 'foo'.length)之前一直在使用原始數(shù)據(jù)類型

原始值

"foo"运沦、true泵额、false,以及null和underfind等都被視為原始值茶袒,因?yàn)樗鼈兪遣豢杉?xì)化的梯刚。也就是說,它們就是它們薪寓,不可能像對(duì)象更為復(fù)雜亡资。與使用字面量語法創(chuàng)建值相反,使用new創(chuàng)建的String()向叉、Number()或Boolean() 創(chuàng)建的對(duì)象實(shí)際上是一個(gè)復(fù)雜的對(duì)象锥腻。

var str1 = 'hello';
var str2 = new String('hello');
console.log(str1===str2);       //false

原始值不是對(duì)象。原始值的特殊之處在于它們是用于表示簡(jiǎn)單值母谎。原始值是按值存儲(chǔ)的瘦黑,而復(fù)雜值是按引用來存儲(chǔ)的。

復(fù)雜對(duì)象

復(fù)雜對(duì)象里存儲(chǔ)的并不是簡(jiǎn)單的值,而是該對(duì)象的引用幸斥,所以匹摇,試圖復(fù)制一個(gè)復(fù)雜對(duì)象的時(shí)候并不是真正的復(fù)制了這個(gè)對(duì)象的值,而是獲取了該對(duì)象的引用甲葬。

let user1 = {
    name : 'wcry',
    age : 20,
    gender : 'male'
};
let user2 = user1;
console.log(user1,user2);           //name = 'wcry'
user2.name = 'wsmile';
console.log(user1,user2);           //name = 'wsmile'

typeof操作符

typeof操作符返回變量的類型廊勃,但是有的時(shí)候比較特殊,需要注意经窖。以下為特例:

let myNull = null;
let myUnderfined = undefined;
let myFunction = new Function('x','y','return x+y');
let myRegExp = new RegExp('\\bt[a-z]+\\b');
console.log(typeof myNull);             //object
console.log(typeof myUnderfined);       //undefined
console.log(typeof myFunction);         //function
console.log(typeof myRegExp);           //Object
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末坡垫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子画侣,更是在濱河造成了極大的恐慌冰悠,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件配乱,死亡現(xiàn)場(chǎng)離奇詭異溉卓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)搬泥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門的诵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人佑钾,你說我怎么就攤上這事》沉#” “怎么了休溶?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)扰她。 經(jīng)常有香客問我兽掰,道長(zhǎng),這世上最難降的妖魔是什么徒役? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任孽尽,我火速辦了婚禮,結(jié)果婚禮上忧勿,老公的妹妹穿的比我還像新娘杉女。我一直安慰自己,他們只是感情好鸳吸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布熏挎。 她就那樣靜靜地躺著,像睡著了一般晌砾。 火紅的嫁衣襯著肌膚如雪坎拐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音哼勇,去河邊找鬼都伪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛积担,可吹牛的內(nèi)容都是我干的陨晶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼磅轻,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼珍逸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起聋溜,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤谆膳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后撮躁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漱病,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年把曼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了杨帽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嗤军,死狀恐怖注盈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叙赚,我是刑警寧澤老客,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站震叮,受9級(jí)特大地震影響胧砰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苇瓣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一尉间、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧击罪,春花似錦哲嘲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至损话,卻和暖如春侦啸,著一層夾襖步出監(jiān)牢的瞬間槽唾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工光涂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留庞萍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓忘闻,卻偏偏與公主長(zhǎng)得像钝计,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子齐佳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容