校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 一篇文章帶你了解JavaScript-對象

一篇文章帶你了解JavaScript-對象

熱門標簽:自繪地圖標注數據 電話機器人需要使用網絡嗎 如何看懂地圖標注點 電銷機器人免培訓 海外圖書館地圖標注點 潤滑油銷售電銷機器人 南通通訊外呼系統產品介紹 給地圖標注得傭金 外呼系統使用方法

創建對象

對象直接量

對象直接量是由若干名/值對組成的映射表,名/值對中間用冒號分隔,名/值對之間用逗號分隔,整個映射表用花括號括起來。

var empty = {};
var point = { x:0, y:0};
var point2 = {x:point.x, y:point.y+1};
var book = {
	"main title":"JavaScript",
	//屬性名字里有空格,必須用字符串表示
	"sub-title":"The",
	//屬性名字里有連字符,必須用字符串表示
	"for":"all",
	//"for"是保留字,必須用字符串表示
	author:{
	//這個屬性的值是一個對象
		name:"123"
		//注意,在里的屬性名都沒有引號
	}
};

通過new創建對象

var o = new Object();
//創建一個空對象,和{}一樣
var a = new Array();
//創建一個空數組,和[]一樣
var d = new Date();
//創建一個表示當前時間的Date對象
var r = new RegExp("js");
//創建一個可以進行匹配的RegExp對象

原型

所有通過對象直接量創建的對象都具有同一個原型對象,并可以通過JavaScript代碼Object.prototype獲得對原型對象的引用。通過關鍵字new和構造函數調用創建的對象的原型就是構造函數的prototype屬性的值。因此,同使用{}創建對象一樣,通過new Object()創建的對象也繼承自Object.prototype。同樣,通過new Array()創建的對象的原型就是Array.prototype,通過new Date()創建的對象的原型就是Date.prototype。

沒有原型的對象為數不多,Object.prototype就是其中之一。它不繼承任何屬性。其他原型對象都是普通對象,普通對象都具有原型。所有的內置構造函數(以及大部分自定義的構造函數)都具有一個繼承自Object.prototype的原型。例如,Date.prototype的屬性繼承自Object.prototype,因此由new Date()創建的Date對象的屬性同時繼承自Date.prototype和Object.prototype。這一系列鏈接的原型對象就是所謂的“原型鏈”(prototype chain)。

Object.create()

創建一個新對象,其中第一個參數是這個對象的原型。Object.create()提供第二個可選參數,用以對對象的屬性進行進一步描述。

Object.create()是一個靜態函數,而不是提供給某個對象調用的方法。使用它的方法很簡單,只須傳入所需的原型對象即可:

var AB = Object.create({x:1,y:2});

屬性的查詢和設置

var a = book.author;
//得到book的"author"屬性
book.edition = 6;
//給book創建一個名為"edition"的屬性并賦值
book["main title"] = "123"
//給"main title"屬性賦值

繼承

假設要查詢對象o的屬性x,如果o中不存在x,那么將會繼續在o的原型對象中查詢屬性x。如果原型對象中也沒有x,但這個原型對象也有原型,那么繼續在這個原型對象的原型上執行查詢,直到找到x或者查找到一個原型是null的對象為止。

var o = {}
o.x = 1;//給o定義一個屬性x
var p = inherit(o);//p繼承o
p.y = 2;//給p定義一個屬性y
var q = inherit(p);//q繼承p
q.z = 3;//給q定義一個屬性z
q.x + q.y // 3 x和y分別繼承自o和p

屬性賦值操作首先檢查原型鏈,以此判定是否允許賦值操作。如果允許屬性賦值操作,它也總是在原始對象上創建屬性或對已有的屬性賦值,而不會去修改原型鏈。

var u = { r:1 };
var c = inherit(u);
c.x = 1; c.y =1;
c.r =2;
u.r;  // 1 原型對象沒有修改

屬性訪問錯誤

當book沒有a屬性

book.a // undefined
var l = book.a.length;
//拋出一個類型錯誤異常,undefined沒有屬性

刪除屬性

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

delete book.author;
//book不再有屬性author
delete book["main title"];
//book不再有屬性"main title"

delete運算符只能刪除自有屬性,不能刪除繼承屬性(要刪除繼承屬性必須從定義這個屬性的原型對象上刪除它,而且這會影響到所有繼承自這個原型的對象)。

當delete表達式刪除成功或沒有任何副作用(比如刪除不存在的屬性)時,它返回true。如果delete后不是一個屬性訪問表達式,delete同樣返回true:

o = {x:1};
delete o.x; //刪除x,返回true
delete o.x; //什么都沒做(x已經不存在了),返回true
delete  o.toString; //什么也沒做(toString是繼承來的),返回true
delete 1; //無意義,返回true

delete不能刪除那些可配置性為false的屬性
在這些情況下的delete操作會返回false:

delete Object.prototype;//不能刪除,屬性是不可配置的
var x = 1; //聲明一個全局變量
delete this.x; //不能刪除這個屬性
function f (){}//聲明一個全局函數
delete this.f; //也不能刪除全局函數

檢測屬性

in運算符的左側是屬性名(字符串),右側是對象。如果對象的自有屬性或繼承屬性中包含這個屬性則返回true:

var o = { x:1 }
"x" in o; //true "x"是o的屬性
"y" in o; //false "y"不是o的屬性
"toString" in o; //true o繼承toString屬性

對象的hasOwnProperty()方法用來檢測給定的名字是否是對象的自有屬性。對于繼承屬性它將返回false:

var o = { x:1 }
o.hasOwnProperty("x");//true o有一個自有屬性x
o.hasOwnProperty("y");//false o中不存在屬性y
o.hasOwnProperty("toString");//false toString是繼承屬性

propertyIsEnumerable()是hasOwnProperty()的增強版,只有檢測到是自有屬性且這個屬性的可枚舉性(enumerable attribute)為true時它才返回true。

var o = inherit({ y:2});
o.x = 1;
o.propertyIsEnumerable("x"); //true o有一個可枚舉的自有屬性x
o.propertyIsEnumerable("y"); //false y是繼承來的
Object.propertyIsEnumerable("toString"); //false 不可枚舉

除了使用in運算符之外,另一種更簡便的方法是使用“!==”判斷一個屬性是否是undefined:

var o = { x:1 }
o.x !== undefined; //true o中有屬性x
o.y !== undefined; //false o中沒有屬性y
o.toString !== undefined; //true o繼承了toString屬性

序列化對象

對象序列化(serialization)是指將對象的狀態轉換為字符串,也可將字符串還原為對象。ECMAScript 5提供了內置函數JSON.stringify()和JSON.parse()用來序列化和還原JavaScript對象。這些方法都使用JSON作為數據交換格式,JSON的全稱是“JavaScript Object Notation”

o = {x:1, y:{z:[false,null,""]}};
s = JSON.stringify(o);
//s是'{"x":1,"y":{"z":[false,null,""]}}'
p = JSON.parse(s);
// p == o

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

您可能感興趣的文章:
  • Java讀取項目json文件并轉為JSON對象的操作
  • JavaScript面向對象之class繼承類案例講解
  • jsp Response對象頁面重定向、時間的動態顯示
  • JS對象數組去重的3種方法示例及對比
  • nodejs將JSON字符串轉化為JSON對象報錯的解決

標簽:廣州 銅川 黃石 南京 大連 樂山 內江 貸款邀約

巨人網絡通訊聲明:本文標題《一篇文章帶你了解JavaScript-對象》,本文關鍵詞  一篇,文章,帶你,了解,JavaScript-,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一篇文章帶你了解JavaScript-對象》相關的同類信息!
  • 本頁收集關于一篇文章帶你了解JavaScript-對象的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    午夜视频一区在线观看| 五月综合激情日本mⅴ| 欧美写真视频网站| 黑人巨大精品欧美一区| 亚洲乱码中文字幕| 久久久久88色偷偷免费| 欧美日韩久久久久久| a亚洲天堂av| 美国欧美日韩国产在线播放| 亚洲毛片av在线| 国产亚洲人成网站| 91精品国产综合久久香蕉的特点 | 欧美精品一区男女天堂| 色网站国产精品| 国产69精品久久久久毛片| 日韩激情av在线| 尤物视频一区二区| 国产精品久久久久影院色老大| 日韩午夜精品电影| 欧美日韩久久久一区| 色婷婷av一区二区三区大白胸| 成人午夜大片免费观看| 国产一区在线视频| 青青草国产成人99久久| 午夜久久久久久久久久一区二区| 亚洲精品综合在线| 亚洲三级电影网站| 亚洲欧美一区二区三区国产精品| 亚洲国产精品久久一线不卡| 国产成人在线影院| 久久99精品国产麻豆婷婷 | 中文字幕精品综合| 精品久久久网站| 亚洲欧洲国产专区| 日本一区免费视频| 欧美国产激情二区三区| 欧美韩日一区二区三区四区| 国产视频一区二区在线| 久久久久久亚洲综合影院红桃 | 久久综合久久鬼色| 日韩午夜在线观看| 精品少妇一区二区三区日产乱码| 欧美一卡二卡三卡四卡| 日韩一二三区视频| 精品久久久久久最新网址| 日韩欧美一区二区久久婷婷| 精品国产一区二区三区av性色| 欧美大片顶级少妇| 精品动漫一区二区三区在线观看| 久久蜜桃一区二区| 中文字幕+乱码+中文字幕一区| 国产精品福利一区| 亚洲综合成人网| 免费观看久久久4p| 国内精品嫩模私拍在线| 国产福利91精品| kk眼镜猥琐国模调教系列一区二区| 99视频在线精品| 欧美三级电影网| 欧美一区在线视频| 欧美一区二区三区公司| 91精品福利在线一区二区三区| 日本高清不卡视频| 欧美亚一区二区| 欧美在线观看视频一区二区| 国产精品白丝jk白祙喷水网站 | 国产一区二区三区黄视频| 久久这里都是精品| 精品福利一二区| 国产日产欧产精品推荐色| 欧美精品一区二区三区在线播放| 精品国产乱码久久久久久夜甘婷婷 | 2020国产成人综合网| 久久久久综合网| 国产精品免费丝袜| 国产欧美精品一区| 亚洲国产精品精华液网站| 天使萌一区二区三区免费观看| 奇米精品一区二区三区在线观看 | 亚洲裸体在线观看| 亚洲午夜免费视频| 青青草91视频| 国产精品77777竹菊影视小说| 国内外成人在线| 国产91精品在线观看| 99精品久久久久久| 欧美在线免费播放| 91精品国产色综合久久| 久久久青草青青国产亚洲免观| 欧美国产禁国产网站cc| 亚洲一区二区三区四区不卡| 日韩电影网1区2区| 国产二区国产一区在线观看| 色哟哟亚洲精品| 欧美性生活大片视频| 日韩一区二区在线观看视频| 久久久久国色av免费看影院| 亚洲视频每日更新| 日本不卡123| av一区二区三区| 69成人精品免费视频| 国产亚洲午夜高清国产拍精品| 亚洲一区二区成人在线观看| 久久99九九99精品| 国产91精品精华液一区二区三区| 欧洲人成人精品| 2017欧美狠狠色| 亚洲成人自拍一区| 丁香六月久久综合狠狠色| 欧美日韩国产在线播放网站| 中文字幕免费一区| 日韩成人dvd| 色综合亚洲欧洲| 日韩欧美中文字幕精品| 亚洲国产成人va在线观看天堂| 国产夫妻精品视频| 欧美一级国产精品| 亚洲人妖av一区二区| 久久97超碰国产精品超碰| 在线亚洲高清视频| 欧美国产激情二区三区| 免费av网站大全久久| 成人一级视频在线观看| 久久久亚洲精华液精华液精华液| 午夜久久久久久电影| 91玉足脚交白嫩脚丫在线播放| 精品国偷自产国产一区| 偷拍自拍另类欧美| 在线免费不卡视频| 国产精品久久久久久户外露出 | 精品久久久久久最新网址| 亚洲国产中文字幕在线视频综合| 丰满白嫩尤物一区二区| 精品日韩99亚洲| 老司机免费视频一区二区三区| 欧美调教femdomvk| 亚洲男人天堂av网| 97久久久精品综合88久久| 久久久777精品电影网影网| 免费在线观看日韩欧美| 欧美日韩视频第一区| 欧美日韩国产免费| 国产麻豆精品在线| 欧美日韩一区二区欧美激情| 国产精品美女久久久久高潮| 激情欧美日韩一区二区| 日韩精品中文字幕一区| 午夜不卡av免费| 欧美日韩国产影片| 亚洲一级不卡视频| 色吊一区二区三区| 一区二区激情视频| 色婷婷av久久久久久久| 国产精品拍天天在线| 成人在线视频一区二区| 国产精品狼人久久影院观看方式| 国产一区二区三区在线观看免费 | 7777女厕盗摄久久久| 亚洲综合图片区| 欧美制服丝袜第一页| 五月开心婷婷久久| 欧美一区二区性放荡片| 蜜桃视频在线观看一区| 在线视频你懂得一区| 亚洲色大成网站www久久九九| 色狠狠一区二区三区香蕉| 亚洲综合一二区| 91精品国模一区二区三区| 久久99热99| 日本一区二区免费在线观看视频 | 91玉足脚交白嫩脚丫在线播放| 亚洲激情av在线| 欧美日韩夫妻久久| 久久精品国产澳门| 欧美一区二区三区播放老司机| 美日韩一区二区| 中文字幕高清不卡| 一本大道av伊人久久综合| 五月综合激情婷婷六月色窝| 欧美不卡123| 丁香婷婷综合激情五月色| 亚洲日本欧美天堂| 欧美日韩二区三区| 韩国在线一区二区| 最新欧美精品一区二区三区| 欧美亚洲图片小说| 亚洲一区二区三区在线看| 久久精品在这里| 色婷婷久久久亚洲一区二区三区| 天堂在线一区二区| 国产人伦精品一区二区| 一本一本久久a久久精品综合麻豆| 日韩中文字幕av电影| 国产拍欧美日韩视频二区| 欧美日韩激情一区二区三区| 成人涩涩免费视频| 天天av天天翘天天综合网色鬼国产 | 成人毛片视频在线观看| 视频一区二区国产| 国产精品女人毛片|