中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

JS 對象屬性相關(guān)(檢查屬性、枚舉屬性等)
來源:易賢網(wǎng) 閱讀:1057 次 日期:2015-04-08 14:12:02
溫馨提示:易賢網(wǎng)小編為您整理了“JS 對象屬性相關(guān)(檢查屬性、枚舉屬性等)”,方便廣大網(wǎng)友查閱!

1.刪除屬性

delete運算符可以刪除對象的屬性

代碼如下:

delete person.age //即person不再有屬性age

delete person['age'] //或者這樣

delete只是斷開屬性和宿主對象的聯(lián)系,而不會去操作屬性中的屬性 看到delete a.p之后b.x仍然為1

var a = {p:{x:1}};

var b = a.p;

console.log(a.p.x); //1

delete a.p;

console.log(a.p.x); //TypeError a.p is undefined

console.log(a.p); //undefined

console.log(b.x); //1

delete只能刪除自有屬性,不能刪除繼承屬性(要刪除繼承屬性必須從定義這個屬性的原型對象上刪除它,當(dāng)然,這會影響到所有繼承來自這個原型的對象)

function inherit(p){

if(p == null){ // 不能從null中繼承

throw TypeError();

}

if(Object.create){ //如果有這個方法就直接使用

return Object.create(p);

}

var t = typeof p;

if(t !== "object" || t !== "function"){ //要繼承的對象 類型要符合

throw TypeError();

}

function f(){ }; //定義一個空的構(gòu)造函數(shù)

f.prototype = p; //原型指向要繼承的對象p

return new f(); //創(chuàng)建f對象,此對象繼承自p

}

var obj = {x:1};

var obj1 = inherit(obj);

obj1.y = 2;

console.log("x = "+obj1.x+" y = "+obj1.y); //x = 1 y = 2

delete obj1.x;

delete obj1.y;

console.log("x = "+obj1.x+" y = "+obj1.y); //x = 1 y = undefined

當(dāng)然了,可配置的屬性才能用到delete

比如

delete Object.prototype; // 不能刪除 不可配置

var x = 1;

delete this.x; //不能刪除

this.y = 1;

delete y; //這樣可以刪除

function f(){ }

delete this.f; //不能刪除

2.檢測屬性

使用 “in"

in 運算符希望它的左操作數(shù)是一個字符串或者可以轉(zhuǎn)換為字符串,希望它的右操作數(shù)是一個對象

var data = [5,6,7];

console.log("0" in data); //有下標0

console.log(1 in data); //1可以轉(zhuǎn)換成"1"

console.log("4" in data); //下標只有 1 2 3

var obj = {x:1};

console.log("x" in obj); //true

console.log("y" in obj); //false

console.log("toString" in obj); //true 因為obj繼承了這個方法

使用hasOwnProperty()或者propertyIsEnumerable() --- 后者是前者的增強

顧明思議

var obj = {x:1};

console.log(obj.hasOwnProperty("x")); //true

console.log(obj.hasOwnProperty("y")); //false

console.log(obj.hasOwnProperty("toString")); //false 因為obj繼承了這個方法,但不是它自己的

只有檢測到是自由屬性并是可枚舉的屬性時,后者才返回true

var obj = {x:1};

console.log(obj.propertyIsEnumerable("x")); //true

console.log(obj.propertyIsEnumerable("y")); //false

console.log(obj.propertyIsEnumerable("toString")); //false 因為obj繼承了這個方法,但不是它自己的

console.log(Object.prototype.propertyIsEnumerable("toString")); //false 因為最原始的的 toString就是不可枚舉的

當(dāng)然,也可以直接用 ”!=="運算符判斷

var obj = {x:1};

console.log(obj.x !== undefined);//true

console.log(obj.y !== undefined);//false

console.log(obj.toString !== undefined); //true

3.枚舉屬性

var obj = {x:1,y:2};

for(p in obj){

console.log(p);//x y

console.log(obj.p);// undefined undefined

console.log(obj[p]);//1 2

}

拓展1:

每個對象都有與之相關(guān)的原型(prototype)、類(class)、可擴展性(extensible)

要檢測一個對象是否是另一個對象的原型(或處于原型鏈中),可以使用isPrototypeOf()方法

var p = {x:1}; //p原型對象繼承自O(shè)bject.prototype

var o = Object.create(p); //o對象繼承自p

console.log(p.isPrototypeOf(o));//true

console.log(Object.prototype.isPrototypeOf(o));//true

console.log(Object.prototype.isPrototypeOf(p));//true

當(dāng)然,isPrototypeOf()方法和instanceof運算符非常類似

instanceof運算符希望它的左操作數(shù)是一個對象,右操作數(shù)標識對象的類。如果左側(cè)的對象是右側(cè)類的實例,則表達式返回true,否則返回false

var p = {x:1};

console.log(p instanceof Object);//true

var d = new Date();

console.log(d instanceof Date);//true

console.log(d instanceof Object);//true

console.log(d instanceof Number);//false

拓展2:

對象的類屬性是一個字符串,用以表示對象的類型信息

一般調(diào)用toString()方法后返回形如 [object class]的形式

比如

代碼如下:

var obj = {x:1,y:2};

console.log(obj.toString());//[object Object]

所以要想獲取對象的類,就可以通過返回的字符串中找出 “class"字段 使用 slice(8,-1)

比如

function classOf(obj){ // 找出類名

if(obj === null){

return "Null";

}

if(obj === undefined){

return "Undefined";

}

return Object.prototype.toString.call(obj).slice(8,-1);

}

console.log(classOf(1)); //Number

//注意,實際上是這些類型的變量調(diào)用toString()方法,而不是通過他們自身直接調(diào)用

//console.log(1.toString()); //會報錯

var a = 1;

console.log(Number(1).toString()); //1

console.log(a.toString()); //1

console.log({x:1}.toString()); //[object Object]

console.log(classOf(1)); //Number

console.log(classOf("")); //String

console.log(classOf("str")); //String

console.log(classOf(null)); //Null

console.log(classOf(false)); //Boolean

console.log(classOf({})); //Object

console.log(classOf([])); //Array

console.log(classOf(new Date())); //Date

function f(){}

console.log(classOf(new f())); //Object

更多信息請查看IT技術(shù)專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:JS 對象屬性相關(guān)(檢查屬性、枚舉屬性等)
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權(quán)所有:易賢網(wǎng)

中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美日韩高清一区| 亚洲第一在线综合网站| 亚洲影院久久精品| 国产乱理伦片在线观看夜一区| 色综合久久久网| 精品电影一区二区| 香蕉成人伊视频在线观看| 成人福利视频网站| 久久亚区不卡日本| 日本视频免费一区| 欧美天堂亚洲电影院在线播放| 国产三级精品三级| 久色婷婷小香蕉久久| 精品视频在线免费看| 中文字幕一区二区三区四区| 国产资源在线一区| 日韩欧美国产电影| 秋霞影院一区二区| 欧美疯狂做受xxxx富婆| 亚洲综合图片区| 91老司机福利 在线| 国产精品青草久久| 国产成人超碰人人澡人人澡| 欧美成人vr18sexvr| 免费在线观看一区二区三区| 欧美精品乱人伦久久久久久| 亚洲成人久久影院| 欧美性受xxxx| 偷拍一区二区三区| 欧美日韩mp4| 天天色综合成人网| 欧美一级日韩免费不卡| 男人的天堂久久精品| 欧美一区二区在线不卡| 毛片一区二区三区| 精品国产91洋老外米糕| 国产一区二区日韩精品| 久久精品综合网| 国产成人aaa| 亚洲欧美怡红院| 色94色欧美sute亚洲13| 亚洲h动漫在线| 91精品国产91综合久久蜜臀| 蜜臀av一区二区在线免费观看| 日韩一区二区三区av| 久久不见久久见免费视频1| 久久久久久久久久久久电影| 国产精品77777| 亚洲欧洲日本在线| 欧美日韩国产电影| 国内不卡的二区三区中文字幕 | 亚洲chinese男男1069| 欧美性三三影院| 日韩高清不卡在线| 久久免费电影网| 99久久久国产精品免费蜜臀| 亚洲一区二区黄色| 欧美变态口味重另类| 成人免费视频一区| 亚洲国产综合视频在线观看| 精品美女在线播放| av男人天堂一区| 图片区日韩欧美亚洲| 久久九九99视频| 欧美三片在线视频观看| 国产精品综合在线视频| 亚洲综合色噜噜狠狠| 精品久久人人做人人爰| 91玉足脚交白嫩脚丫在线播放| 日韩精品三区四区| 国产精品久久网站| 欧美一区二区美女| 色偷偷一区二区三区| 麻豆成人91精品二区三区| 亚洲欧美日韩国产手机在线| 欧美成人官网二区| 欧美三级欧美一级| www.爱久久.com| 蜜桃视频免费观看一区| 亚洲免费视频中文字幕| 精品国产3级a| 欧美精品免费视频| 色妹子一区二区| 国产乱国产乱300精品| 天堂精品中文字幕在线| 亚洲人成在线观看一区二区| 欧美大片免费久久精品三p| 色系网站成人免费| 成人激情免费视频| 狠狠色丁香久久婷婷综合_中 | 国产视频视频一区| 91麻豆精品国产91久久久久| 99riav一区二区三区| 国产69精品一区二区亚洲孕妇| 日本女人一区二区三区| 亚洲国产视频a| 亚洲三级久久久| 国产欧美久久久精品影院| 日韩欧美色综合| 欧美日本一区二区在线观看| 色先锋aa成人| 色网站国产精品| 色综合中文综合网| 成人午夜视频网站| 国产做a爰片久久毛片| 五月激情六月综合| 香蕉成人伊视频在线观看| 亚洲精品免费一二三区| 亚洲人一二三区| 国产精品国产精品国产专区不蜜 | 中文字幕在线观看不卡| 久久久久久久久久看片| 日韩欧美国产一区二区在线播放| 欧美日本国产视频| 欧美日韩一区二区三区在线| 在线亚洲精品福利网址导航| 色一区在线观看| 欧洲生活片亚洲生活在线观看| 一本大道久久精品懂色aⅴ| 91麻豆成人久久精品二区三区| 91蜜桃在线观看| 在线看不卡av| 欧美三电影在线| 欧美男生操女生| 91精品国产综合久久久蜜臀粉嫩| 在线综合视频播放| 日韩免费成人网| 国产色产综合色产在线视频| 国产精品久久久久久久久免费樱桃| 亚洲欧美综合另类在线卡通| 亚洲卡通动漫在线| 亚洲chinese男男1069| 美国一区二区三区在线播放| 国产夫妻精品视频| 色综合久久久久久久久| 欧美精品乱码久久久久久| 欧美成人三级在线| 国产精品久久久久一区| 亚洲最大的成人av| 日产国产欧美视频一区精品| 国产一区二区电影| 99久免费精品视频在线观看| 欧美性生活久久| 精品国产污网站| 亚洲色欲色欲www| 性做久久久久久久久| 国产一区二区三区蝌蚪| 91一区二区在线| 日韩精品中文字幕一区二区三区| 欧美国产97人人爽人人喊| 亚洲第一综合色| 粉嫩一区二区三区性色av| 一本色道久久综合亚洲精品按摩| 91精品国产欧美一区二区18| 国产精品萝li| 日本视频在线一区| 91丨porny丨最新| 精品免费99久久| 一区二区三区四区精品在线视频| 老司机午夜精品| 色嗨嗨av一区二区三区| www亚洲一区| 亚洲成av人在线观看| 成人午夜电影网站| 欧美一区二区三区四区高清| 综合网在线视频| 国产精品中文字幕欧美| 欧美视频一区在线观看| 中文在线免费一区三区高中清不卡| 午夜一区二区三区在线观看| 成人免费高清在线| 日韩欧美你懂的| 午夜天堂影视香蕉久久| av高清不卡在线| 久久婷婷国产综合国色天香| 亚洲国产综合91精品麻豆| 99综合电影在线视频| 久久久久久久久久久久久夜| 青青青伊人色综合久久| 欧美午夜一区二区| 亚洲日本丝袜连裤袜办公室| 国产成人三级在线观看| 日韩欧美国产高清| 午夜在线电影亚洲一区| 91福利国产成人精品照片| 一区二区中文字幕在线| 国产91精品精华液一区二区三区 | 在线观看视频一区二区| 国产欧美一区二区在线观看| 看电影不卡的网站| 91精品国产综合久久精品性色| 亚洲综合图片区| 欧美综合视频在线观看| 国产精品成人在线观看| 成人精品鲁一区一区二区| 国产欧美一区二区精品婷婷| 国产寡妇亲子伦一区二区| 国产亚洲欧美在线| 大尺度一区二区| 国产目拍亚洲精品99久久精品|