當前位置:編程學習大全網 - 編程語言 - Js面向對象編程封裝

Js面向對象編程封裝

有幾種方法可以在JavaScript中創建對象:

(1)使用內置對象

(2)使用JSON符號

(3)自定義對象構造

首先,使用內置對象

JavaScript有兩種內置對象:

1,JavaScript原生對象(語言級對象),如字符串、對象、函數等。

2.JavaScript運行時的宿主對象(環境宿主級對象),如窗口、文檔、主體等。

我們所說的使用內置對象,是指通過JavaScript語言中原生對象的構造方法實例化壹個新的對象。比如:

復制代碼代碼如下:

Var str = new String("實例初始化字符串");

Var str1 = "直接賦值的字符串";

var func =新函數(" x "," alert(x)");//示例初始化func

var o = new Object();//示例初始化壹個對象

第二,使用JSON符號

(壹)什麽是JSON?

JSON (JavaScript對象

Notation),即JavaScript對象命名,是壹種輕量級的數據交換格式,易於讀寫,也易於解析和生成。它是基於

《JavaScript編程語言,標準ECMA-262第三版-

12月1999的子集。JSON是壹種完全獨立於語言的文本格式,因此它是數據交換的理想格式。

JSON as

壹個JavaScript的自己,而ActionScript,C,C#,ColdFusion,E,Java,JavaScript,ML,

ObjectiveCAML、Perl、PHP、Python、Rebol、Ruby、Lua等壹系列語言都提供了支持,使得Ajax開發JSON。

首選。

構建JSON有兩種方法。壹種是使用壹組簡單的“鍵/值對”,它們被理解為不同語言中的對象、記錄、結構、字典、哈希表、鍵列表或關聯數組。另壹種是使用有序的值列表,在大多數語言中被理解為數組。

常見的創建方法是第壹種,即以“鍵/值對”集合的形式。在這種形式中,對象以“{”(左括號)開始,以“}”(右括號)結束。每個“名稱”後面都有壹個“:”(冒號),”

鍵/值對由“,”(逗號)分隔。

JSON有以下特點:(1)簡單的格式化數據交換;(2)便於人們的閱讀和書寫習慣;(3)易於分析和運行機器。

JSON在JavaScript中被理解為壹個對象。通過字符串形式的JSON,可以很容易地將數據解析成專用的JavaScript,並且可以讀取和傳輸數據。通過JSON,壹定程度上解決了JavaScript對象不能作為參數串行傳遞的問題。

1,簡單JSON

{姓名:“劉德華”,年齡:“25”,性別:“男”}

2、JSON值的類型

JSON的值可以是簡單的數據類型,比如數字、浮點、字符等。、或數組和對象。例如,JSON用壹個數組作為member的鍵值:

{成員:[{姓名:“劉德華”},{姓名:“郭富城”},{姓名:“張學友”},{姓名:“黎明”}]}

{

書:[{名:《三國演義》},{名:《西遊記》},{名:《水滸傳》},{名:《紅樓夢》}],

作者:[{姓名:“羅貫中”},{姓名:“吳承恩”},{姓名:“施耐庵”,{姓名:“曹雪芹”}]

}

3、在JavaScript中使用JSON

JSON是JavaScript的原生格式,這意味著您不需要任何特殊的API或工具包來處理JavaScript中的JSON數據。默認情況下,JavaScript將JSON視為壹個對象。

將對象傳遞給變量,例如:

復制代碼代碼如下:

var somebooks = {

書:[{名:《三國演義》},{名:《西遊記》},{名:《水滸傳》},{名:《紅樓夢》}],

作者:[{姓名:“羅貫中”},{姓名:“吳承恩”},{姓名:“施耐庵”,{姓名:“曹雪芹”}]

}

JSON的每個“鍵”都相當於壹個對象的屬性,比如訪問壹本書的第壹個條目。在JavaScript中,您可以簡單地使用“somebooks.book[0]”。名”來獲得《三國演義》的價值。

我們不僅可以將壹個JSON字符串轉換成壹個對象,還可以將壹個對象“編譯”成壹個JSON字符串,以方便JavaScript中對象的傳輸。例如:

復制代碼代碼如下:

var Animals = new Object();

Animals.name = " dog

Animals.sex = " Male

Animals.age = " 2

動物對象不能被序列化和傳輸。將Animals對象轉換成壹個JSON字符串,即,“{姓名:“狗”,性別:“男”,年齡:“2”}”。這樣JSON字符串作為HTTP請求的參數傳遞,從而達到序列化傳輸Animals對象的目的。

(二)JSON以字符串的形式表達JavaScript對象。比如:

復制代碼代碼如下:

var myObject = {昵稱:“my girlfried”,名字:“大

豬" };

JSON

實際上,它作為壹個協議來實現JavaScript對象和字符串之間的轉換。因為JSON的“外觀”可以看作是壹串Dancun,JSON在

JavaScript可以在對象傳輸中起到壹定的作用。例如,對象strObject被轉換為字符串後傳輸,到達目的地後由eval方法恢復。

對象:

復制代碼代碼如下:

功能測試(o)

{

警報(o.name)

}

var strObject = ' {昵稱:“我女朋友”,名字:“大豬”} ';

test(eval _ r("+str object+");

第三,自定義對象構造

創建高級對象構造有兩種方法:使用“this”關鍵字構造和使用prototype原型構造。比如:

復制代碼代碼如下:

//使用此關鍵字定義構造的上下文屬性。

函數女孩()

{

this.name = "大豬";

this.age = 20

這壹點;

this.bust

this .腰;

this.hip

}

//使用原型

function Girl(){}

Girl.prototype.name = "大豬";

girl . prototype . age = 20;

girl . prototype . standing;

girl . prototype . bust;

Girl.prototype .腰;

女生.原型. hip;

警戒(新女生()。姓名);

上例中的兩個定義本質上沒有區別,都是定義“Girl”對象的屬性信息。“這個”和“原型”的區別主要在於屬性訪問的順序。比如:

復制代碼代碼如下:

功能測試()

{

this.text = function()

{

alert("由此定義");

}

}

Test.prototype.test =函數()

{

alert("由原型定義");

}

var _ o = new Test();

_ o . test();//輸出“由此定義”

當訪問對象的屬性或方法為時,將搜索原型鏈。

連鎖店的規則。首先,尋找它自己的靜態屬性和方法,然後尋找構造上下文的可訪問屬性和方法,最後尋找構造的原型鏈。

“這個”

與“原型”定義的另壹個區別是屬性所占的空間不同。使用“this”關鍵字,在初始化示例時,將為每個實例打開構造函數中包含的所有屬性和方法。

所需的空間,並使用“原型”定義,因為“原型”實際上是對父對象的引用,只是數據的副本,所以它比在初始化和存儲時更好。

“這個”節省資源。

  • 上一篇:大白是什麽動畫片裏的?
  • 下一篇:展出造句-用展出造句
  • copyright 2024編程學習大全網