一、使用內置對象 JavaScript可用的內置對象可分為兩種: 1,JavaScript語言原生對象(語言級對象),如String、Object、Function等; 2,Ja " /> 国产精品亚洲第一区二区三区,久久久精品久久,一本道中文无码亚洲

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript 三種創建對象的方法

JavaScript中對象的創建有以下幾種方式:
(1)使用內置對象
(2)使用JSON符號
(3)自定義對象構造

一、使用內置對象

JavaScript可用的內置對象可分為兩種:
1,JavaScript語言原生對象(語言級對象),如String、Object、Function等;
2,JavaScript運行期的宿主對象(環境宿主級對象),如window、document、body等。

我們所說的使用內置對象,是指通過JavaScript語言原生對象的構造方法,實例化出一個新的對象。如:
復制代碼 代碼如下:
var str = new String("實例初始化String");
var str1 = "直接賦值的String";
var func = new Function("x","alert(x)");//示例初始化func
var o = new Object();//示例初始化一個Object

二、使用JSON符號

(i)何謂JSON ?
JSON (JavaScript Object Notation)即JavaScript對象命名,是一種輕量級的數據交換格式,易于閱讀和編寫,同時也易于及其解析和生成。它基于《JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999》的一個子集。JSON是完全獨立于語言的文本格式,因此成為數據交換的理想格式。

JSON作為JavaScript的一個自己,同時ActionScript、C、C#、ColdFusion、E、JavaJavaScript、ML、ObjectiveCAML、Perl、php、Python、Rebol、Ruby、Lua等一系列的語言都提供支持,使得JSON成為Ajax開發的首選方案。

JSON有兩種構建方式,一種是采用簡單的“鍵/值對”的集合,在不同的語言中被理解為對象、記錄、結構、字典、哈希表、有鍵列表,或者關聯數組等,另一種采用有序的值列表,大部分語言把它理解為數組。

常用的創建方式是第一種,即采用“鍵/值對”集合的形式。在這種形式下,一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號),“ ‘鍵/值' 對”之間使用“,”(逗號)分隔。

JSON具有以下特點:(1)簡單格式化的數據交換;(2)易于人們的讀寫習慣;(3)易于機器的分析和運行。
JavaScript中,JSON被理解為對象。通過字符串形式的JSON,數據可以很方便地解析成JavaScript獨享,并進行數據的讀取傳遞。通過JSON,在一定程度上客服了JavaScript對象無法作為參數系列化傳遞的問題。

1,簡單的JSON

{name:"劉德華",age:"25",sex:"男"}

2,JSON值的類型

JSON的值可以是簡單的數據類型,例如數字、浮點、字符等,也可以是數組及對象。例如以數組作為member鍵值的JSON:

{member:[{name:"劉德華"},{name:"郭富城"},{name:"張學友"},{name:"黎明"}]}

{
book:[{name:"三國演義"},{name:"西游記"},{name:"水滸傳"},{name:"紅樓夢"}],
author:[{name:"羅貫中"},{name:"吳承恩"},{name:"施耐安",{name:"曹雪芹"}}]
}

3,在JavaScript中使用JSON

JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數據不需要任何特殊的API或者工具包,JavaScript默認將JSON當做一個對象處理。

將對象傳遞給一個變量,例如:
復制代碼 代碼如下:
var somebooks = {
book:[{name:"三國演義"},{name:"西游記"},{name:"水滸傳"},{name:"紅樓夢"}],
author:[{name:"羅貫中"},{name:"吳承恩"},{name:"施耐安",{name:"曹雪芹"}}]
}

JSON的每個“鍵”相當于對象的屬性,例如訪問book中的第一個條目,在JavaScript中,就可以簡單地使用“somebooks.book[0].name”來獲取“三國演義”這個值。

我們不但可以將一個JSON字符串轉化為對象,反過來將一個對象“編譯”為一個JSON字符串,以方便JavaScript中的對象的傳輸。例如:
復制代碼 代碼如下:
var Animals = new Object();
Animals.name = "dog";
Animals.sex = "Male";
Animals.age = "2";

Animals對象無法被序列化傳輸,將Animals對象轉化為JSON字符串,也就是“{name:"dog",sex:"Male",age:"2"}”。這樣,把該JSON字符串作為HTTP請求的一個參數傳遞,從而達到序列化傳輸Animals對象的目的。

(ii)JSON通過字符串形式來表達JavaScript的對象。如:
復制代碼 代碼如下:
var myObject = {nickname:"my girlfried",name:"big pig"};

JSON實際上充當了一種在JavaScript對象和字符串之間實現相互轉換的協議。由于JSON的“外表”可以看成但村的字符串,因此JSON在JavaScript的對象傳輸方面可以起到一定的作用。例如把對象strObject轉換成字符串后進行傳輸,在達到目的地后通過eval方法將其還原成對象:
復制代碼 代碼如下:
function test (o)
{
alert (o.name)
}
var strObject = '{nickname:"my girlfriend",name:"big pig"}';
test (eval("(" + strObject + ")"));

三、自定義對象構造

創建高級對象構造有兩種方式:使用“this”關鍵字構造、使用原型prototype構造。如:
復制代碼 代碼如下:
//使用this關鍵字定義構造的上下文屬性
function Girl()
{
this.name = "big pig";
this.age = 20;
this.standing;
this.bust;
this.waist;
this.hip;
}

//使用prototype
function Girl(){}
Girl.prototype.name = "big pig";
Girl.prototype.age = 20;
Girl.prototype.standing;
Girl.prototype.bust;
Girl.prototype.waist;
Girl.prototype.hip;
alert(new Girl().name);

上例中的兩種定義在本質上沒有區別,都是定義“Girl”對象的屬性信息?!皌his”與“prototype”的區別主要在于屬性訪問的順序。如:
復制代碼 代碼如下:
function Test()
{
this.text = function()
{
alert("defined by this");
}
}
Test.prototype.test = function()
{
alert("defined by prototype");
}
var _o = new Test();
_o.test();//輸出“defined by this”

當訪問對象的屬性或者方法是,將按照搜索原型鏈prototype chain的規則進行。首先查找自身的靜態屬性、方法,繼而查找構造上下文的可訪問屬性、方法,最后查找構造的原型鏈。

“this”與“prototype”定義的另一個不同點是屬性的占用空間不同。使用“this”關鍵字,示例初始化時為每個實例開辟構造方法所包含的所有屬性、方法所需的空間,而使用“prototype”定義,由于“prototype”實際上是指向父級的一種引用,僅僅是個數據的副本,因此在初始化及存儲上都比“this”節約資源。

JavaScript技術JavaScript 三種創建對象的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 乡村教师电影版 | 国产精品一区二区激情 | 国产超嫩一线天在线播放 | 免费中文字幕视频 | 99久在线国内在线播放免费观看 | 国产精品网红女主播久久久 | 精品一二三区久久AAA片 | 久久vs国产综合色 | 亚洲精品久久区二区三区蜜桃臀 | 91综合久久久久婷婷 | 美女也烦恼主题曲 | 亚洲 欧美 视频 手机在线 | 久久www99re在线播放 | 2017最新伦理伦理片67 | 国产av在线看的 | 国产色精品久久人妻无码看片 | 久久日韩精品无码一区 | 成人免费视频在线观看 | 麻豆AV久久AV盛宴AV | 午夜小视频免费观看 | 2017天天拍天天拍香蕉视频 | 午夜福利视频极品国产83 | 美女医生深夜在家裸睡惨死 | 国产系列视频二区 | 国产香蕉九九久久精品免费 | 亚洲午夜福利未满十八勿进 | 成视频高清| 好看AV中文字幕在线观看 | 亚洲va精品中文字幕 | 国产99对白在线播放 | 久久99视频免费 | 亚洲女初尝黑人巨磁链接 | 九九大香尹人视频免费 | 欧美亚洲国产专区在线 | 花蝴蝶免费观看影视 | 在线视频免费国产成人 | 国产精品亚洲专一区二区三区 | 肉动漫无修3D在线观看 | 校花娇喘呻吟校长陈若雪视频 | 我年轻漂亮的继坶2中字在线播放 | 国产一区二区三区乱码在线观看 |