摘要:對(duì)象描述是一個(gè)擁有屬性和方法的集合體屬性表示該對(duì)象的外貌方法表示該對(duì)象的行為對(duì)象的分類內(nèi)置對(duì)象表示中的預(yù)定義對(duì)象宿主對(duì)象表示匹配瀏覽器的對(duì)象比如自定義對(duì)象表示由開(kāi)發(fā)人員定義的對(duì)象定義對(duì)象字面量方式語(yǔ)法對(duì)象名屬性名屬性值方法名方法體張小凡御雷
對(duì)象 描述
是一個(gè)擁有屬性和方法的集合體
屬性
表示該對(duì)象的外貌
方法
表示該對(duì)象的行為
對(duì)象的分類
內(nèi)置對(duì)象
表示JavaScript中的預(yù)定義對(duì)象
宿主對(duì)象
表示匹配瀏覽器的對(duì)象
比如:DOM、BOM
自定義對(duì)象
表示由開(kāi)發(fā)人員定義的對(duì)象
定義對(duì)象 字面量方式 語(yǔ)法var 對(duì)象名 = { 屬性名 :屬性值, 方法名 :function () { 方法體 } }
var obj1 = { name : "張小凡", nian : 20, qingyun : function () { console.log( "御雷真訣" ) } }; console.log( obj1 );構(gòu)建函數(shù)方式 語(yǔ)法
var 對(duì)象名 = new Object({ 屬性名 : 屬性值, 方法名 : function(){ 方法體 } })
var obj2 = new Object( { name : "海龍", nian : 18, tianyin : function () { console.log( "萬(wàn)滅心鐘" ) } } ); console.log( obj2 );Object.create()方法 語(yǔ)法
var 對(duì)象名 = Object.create()
var obj3 = Object.create( ); console.log( obj3 );調(diào)用對(duì)象的屬性和方法 第一種方式 調(diào)用屬性
對(duì)象名.屬性名
不適合用于復(fù)雜的屬性名
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, "men-pai" : "qing-yun", faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj ); /* 調(diào)用屬性 */ console.log( obj.name );// 顯示 張小凡 /* 調(diào)用復(fù)雜的屬性名時(shí),該方法會(huì)報(bào)錯(cuò) */ console.log( obj.men-pai );// 顯示 ReferenceError: pai is not defined調(diào)用方法
對(duì)象名.方法名()
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, "men-pai" : "qing-yun", faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj ); /* 調(diào)用方法 */ console.log( obj.faqi() );// 顯示 嗜血 攝魂第二種方式 調(diào)用屬性
對(duì)象名[屬性名]
適合用于復(fù)雜的屬性名
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, "men-pai" : "qing-yun", faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj ); /* 調(diào)用屬性 */ console.log( obj["nian"] );// 顯示 20 /* 調(diào)用復(fù)雜的屬性名時(shí),可以正常顯示 */ console.log( obj["men-pai"] );// 顯示 qing-yun調(diào)用方法
對(duì)象名[方法名]()
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, "men-pai" : "qing-yun", faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj ); /* 調(diào)用方法 */ console.log( obj["faqi"]() );// 顯示 嗜血 攝魂新增對(duì)象的屬性和方法 第一種方式 新增屬性
對(duì)象名.新的屬性名 = 屬性值
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 新增屬性 */ obj.menpai = "青云"; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi], menpai: "青云" }新增方法
對(duì)象名.新的方法名 = function(){ 方法體 }
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 新增方法 */ obj.gongfa = function () { console.log( "御雷真訣" ) } console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi], menpai: "青云", gongfa: [Function] }第二種方式 新增屬性
對(duì)象名[新的屬性名] = 屬性值
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 新增屬性 */ obj["zhandouli"] = 20000; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi], menpai: "青云", zhandouli: 20000 }新增方法
對(duì)象名[新的方法名] = function(){ 方法體 }
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 新增方法 */ obj["biecheng"] = function () { console.log( "鬼厲先生" ) } console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi], menpai: "青云", gongfa: [Function], zhandouli: 20000, biecheng: [Function] }修改對(duì)象的屬性和方法 第一種方式 修改屬性
對(duì)象名.已存在的屬性名 = 新的屬性值
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 修改屬性 */ obj.nian = 18; console.log( obj );// 顯示 { name: "張小凡", nian: 18, faqi: [Function: faqi] }修改方法
對(duì)象名.已存在的方法名 = 新的function(){ 方法體 }
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 修改方法 */ console.log( obj.faqi() );// 顯示 嗜血 攝魂 /* 對(duì)方法進(jìn)行修改 */ obj.faqi = function () { console.log( "誅仙" ) } console.log( obj.faqi() );// 顯示 誅仙第二種方式 修改屬性
對(duì)象名[已存在的屬性名] = 新的屬性值
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 修改屬性 */ obj["nian"] = 22; console.log( obj );// 顯示 { name: "張小凡", nian: 22, faqi: [Function: faqi] }修改方法
對(duì)象名[已存在的方法名] = 新的function(){ 方法體 }
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 修改方法 */ console.log( obj["faqi"]() );// 顯示 嗜血 攝魂 /* 對(duì)方法進(jìn)行修改 */ obj["faqi"] = function () { console.log( "誅仙" ) } console.log( obj["faqi"]() );// 顯示 誅仙刪除對(duì)象的屬性和方法 第一種方法 刪除屬性
delete 對(duì)象名.屬性名
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } delete obj.nian; console.log( obj );// 顯示 { name: "張小凡", faqi: [Function: faqi] }刪除方法
delete 對(duì)象名.方法名
刪除方法時(shí)不能帶小括號(hào)
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 刪除方法 */ delete obj.faqi; console.log( obj );// 顯示 { name: "張小凡" }第二種方法 刪除屬性
delete 對(duì)象名[屬性名]
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 刪除屬性 */ delete obj["name"]; console.log( obj );// 顯示 { nian: 20, faqi: [Function: faqi] }刪除方法
delete 對(duì)象名[方法名]
刪除方法時(shí)不能帶小括號(hào)
/* 定義一個(gè)對(duì)象 */ var obj = { name : "張小凡", nian : 20, faqi : function () { console.log( "嗜血 攝魂" ) } }; console.log( obj );// 顯示 { name: "張小凡", nian: 20, faqi: [Function: faqi] } /* 刪除方法 */ delete obj["faqi"]; console.log( obj );// 顯示 { nian: 20 }刪除對(duì)象屬性和方法時(shí)的注意
調(diào)用一個(gè)已經(jīng)刪除的屬性會(huì)顯示 undefined
調(diào)用一個(gè)已經(jīng)刪除的方法會(huì)報(bào)錯(cuò)
/* 調(diào)用一個(gè)已經(jīng)刪除的屬性會(huì)顯示 undefined */ console.log( obj.name );// 顯示 undefined /* 調(diào)用一個(gè)已經(jīng)刪除的方法會(huì)報(bào)錯(cuò) */ console.log( obj.faqi() );// 顯示 TypeError: obj.faqi is not a function遍歷對(duì)象
通過(guò)循環(huán)語(yǔ)句遍歷對(duì)象來(lái)獲得對(duì)象中的屬性值或方法體中的內(nèi)容
由于無(wú)法確定對(duì)象長(zhǎng)度,所以while、do...while、for語(yǔ)句不合適使用,建議for...in語(yǔ)句
var obj = { "name" : "張小凡", "nian" : 20, "faqi" : function(){ console.log( "嗜血 攝魂" ); } } /* 對(duì) 對(duì)象中的內(nèi)容進(jìn)行遍歷 */ for ( var of in obj ) { /* 設(shè)置條件表達(dá)式來(lái)選擇判斷屬性和方法進(jìn)行區(qū)分顯示 */ if (typeof o1[of] === "function") { // 是對(duì)象的方法 obj[of](); } else { // 是對(duì)象的屬性 console.log( obj[of] ); } }檢測(cè)對(duì)象 調(diào)用對(duì)象時(shí)會(huì)出現(xiàn)的問(wèn)題
在調(diào)用一個(gè)不存在的對(duì)象屬性時(shí)會(huì)顯示 undefined
var obj = { "name" : "張小凡", "nian" : 20, "faqi" : function(){ console.log( "嗜血 攝魂" ); } } console.log( obj.zy );// 顯示:undefined解決方法
可以先對(duì) 對(duì)象的屬性或方法進(jìn)行檢測(cè)
檢測(cè)是否有該屬性或方法
/* 使用 in 關(guān)鍵字判斷對(duì)象中是否存在指定的屬性 */ if ( "name" in obj ) { console.log( obj.name );// 有屬性 會(huì)直接顯示 - 張小凡 } /* 使用 Object 提供的 hasOwnProperty() */ if ( obj.hasOwnProperty( "zy" ) ) { console.log( obj.zy );//沒(méi)有沒(méi)有屬性 會(huì)不顯示 }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/96908.html
摘要:瀏覽器只是實(shí)現(xiàn)的宿主環(huán)境之一,其他宿主環(huán)境包括和。年月,版發(fā)布,成為國(guó)際標(biāo)準(zhǔn)。事件定義了事件和事件處理的接口。對(duì)于已經(jīng)正式納入標(biāo)準(zhǔn)的來(lái)說(shuō),盡管各瀏覽器都實(shí)現(xiàn)了某些眾所周知的共同特性,但其他特性還是會(huì)因?yàn)g覽器而異。 JavaScript 是面向 Web 的編程語(yǔ)言,絕大多數(shù)現(xiàn)代網(wǎng)站都使用了 JavaScript,并且所有的現(xiàn)代 Web 瀏覽器(電腦,手機(jī),平板)均包含了 JavaScri...
摘要:對(duì)象數(shù)組初始化表達(dá)式,闖關(guān)記之上文檔對(duì)象模型是針對(duì)和文檔的一個(gè)。闖關(guān)記之?dāng)?shù)組數(shù)組是值的有序集合。數(shù)組是動(dòng)態(tài)的,根闖關(guān)記之語(yǔ)法的語(yǔ)法大量借鑒了及其他類語(yǔ)言如和的語(yǔ)法。 《JavaScript 闖關(guān)記》之 DOM(下) Element 類型 除了 Document 類型之外,Element 類型就要算是 Web 編程中最常用的類型了。Element 類型用于表現(xiàn) XML 或 HTML 元素...
摘要:對(duì)象一對(duì)象對(duì)象是什么理解成你所看到的任何物體獨(dú)有屬性并且使用方法對(duì)象的分類內(nèi)置對(duì)象原生對(duì)象是以為標(biāo)準(zhǔn)定義好的對(duì)象,可直接拿來(lái)使用宿主對(duì)象是以瀏覽器自身運(yùn)行環(huán)境下提供的對(duì)象,并且才可使用自定義對(duì)象開(kāi)發(fā)人自身創(chuàng)建的對(duì)象,并使用二創(chuàng)建對(duì)象對(duì)象初始 JS(JavaScript) 對(duì)象一.對(duì)象1.對(duì)象是什么;理解成你所看到的任何物體獨(dú)有屬性并且使用方法2.對(duì)象的分類; 內(nèi)置對(duì)象/原生對(duì)象; 是以...
摘要:數(shù)據(jù)類型數(shù)據(jù)類型表示數(shù)值的類型類型的分類原始類型類型數(shù)字類型類型分為整數(shù)和浮點(diǎn)數(shù)整數(shù)正整數(shù)負(fù)整數(shù)變量為數(shù)字類型整數(shù)顯示浮點(diǎn)數(shù)小數(shù)變量為數(shù)字類型浮點(diǎn)數(shù)顯示浮點(diǎn)數(shù)在小數(shù)點(diǎn)前面如果沒(méi)有數(shù)字,會(huì)被默認(rèn)為在小數(shù)點(diǎn)前的數(shù)字為比如會(huì)顯示浮點(diǎn)數(shù)的 數(shù)據(jù)類型 數(shù)據(jù)類型 - 表示數(shù)值的類型 類型的分類 原始類型 number類型(數(shù)字類型) number類型分為整數(shù)和浮點(diǎn)數(shù) 整數(shù) - 正整數(shù) 、0 、負(fù)...
摘要:數(shù)據(jù)類型原始類型類型實(shí)為數(shù)字不區(qū)分整數(shù)和浮點(diǎn)類型整數(shù)類型包括負(fù)整數(shù),和正整數(shù)浮點(diǎn)類型表示小數(shù)類型整數(shù)和浮點(diǎn)數(shù)小數(shù)或并不區(qū)分整數(shù)與浮點(diǎn)數(shù)變量的定義并初始化字面量或直接量定義數(shù)字值浮點(diǎn)類型是只該數(shù)值包含整數(shù)部分,小數(shù)部分,小數(shù)點(diǎn)和小數(shù)部分浮點(diǎn)類 JS(JavaScript) 數(shù)據(jù)類型; 1.原始類型; number類型; 實(shí)為數(shù)字JS不區(qū)分整數(shù)和浮點(diǎn)類型;整數(shù)類型;包括負(fù)整數(shù),0和正...
閱讀 3387·2021-11-22 09:34
閱讀 660·2021-11-19 11:29
閱讀 1363·2019-08-30 15:43
閱讀 2243·2019-08-30 14:24
閱讀 1876·2019-08-29 17:31
閱讀 1235·2019-08-29 17:17
閱讀 2624·2019-08-29 15:38
閱讀 2741·2019-08-26 12:10