物件 物件導向 建立物件方式 Json

2022-09-07 03:54:11 字數 3942 閱讀 6110

var obj=new object();//

obj.name="小明";

obj.age=20;

obj.***="男";

obj.play=function

(); obj.showname=function

() console.log(obj.name);

//小明

console.log(obj.age);//

20 console.log(obj.***);//

男 obj.play();//

我在玩遊戲

obj.showname();//

我叫小明

function

creatobj();

obj.showage=function

();

return

obj;

}var obj1=creatobj();

var obj2=creatobj();

obj1.showname();

//我叫關羽

obj1.showage();//

我今年30

obj2.showname();//

我叫關羽

obj2.showage();//

我今年30

這種方法雖然也實現了建立物件,但是同樣地,如果需要多次建立物件,而且屬性內容不一樣的話,也是需要重複**多遍。需要重新考慮**重用率,接下來修改**,使其可以提高**重複率,而且可以改變工廠方法,傳入引數賦值。

function

creatobj(name,age);

obj.showage=function

();

return

obj;

}var obj1= new creatobj("劉備",32);

var obj2= new creatobj("關羽",30);

obj1.showname();

//我叫劉備

obj1.showage();//

我今年32

obj2.showname();//

我叫關羽

obj2.showage();//

我今年30

這種方法雖然可以提高**的重用率,但和物件導向中類的概念相比,有乙個很大的缺陷。

物件導向強調物件的屬性私有,但物件的方法是共享。而上面的工廠方法在建立物件時,要為每個物件建立各自私有的方法。

同時,由於為每個物件都建立邏輯相同的方法,所以很浪費記憶體。

function

creatobj(name,age)

showname=function

(); showage=function

();

var obj1=new creatobj("劉備",32);

var obj2=new creatobj("關羽",30);

obj1.showname();

//我叫劉備

obj1.showage();//

我今年32

obj2.showname();//

我叫關羽

obj2.showage();//

我今年30

上面通過定義幾個函式物件,解決了不同物件持有函式物件的私有問題。現在所有物件的方法都持有上面兩個函式的引用。

但是這麼一來,物件的函式和物件又相互獨立,這和物件導向中特定方法屬於特定類的思想不符合。

function

person(name,age);

this.showage=function

(); };

var obj1=new person("劉備","32");

var obj2=new person("關羽","30");

obj1.showname();

//我叫劉備

obj1.showage();//

我今年32

obj2.showname();//

我叫關羽

obj2.showage();//

我今年30

var obj=

console.log(obj.name);

//劉備

console.log(obj.age);//

32 console.log(obj.height);//

180cm

console.log(obj instanceof object);//

true

var obj=;

console.log(obj

instanceof object);//

true

var obj=;

obj.height="180cm";//

新增height屬性

console.log(obj.name);//

劉備 console.log(obj.age);//

32 console.log(obj.height);//

180cm

var obj=;

obj["height"]="190cm";//

新增height屬性

console.log(obj["name"]);//

關羽 console.log(obj["age"]);//

30 console.log(obj["height"]);//

190cm

var obj=

var json=

//通過點語法和訪問

console.log(json.name);//

某某 console.log(json["age"]);//

18//

定義乙個變數

var key="age";

console.log(json[key]);

//18

//推出使用for...in迴圈遍歷

for(var key in

json)

//

例1:var obj=;

function

f2(obj2)

console.log(obj.name);

//李白

f2(obj);

console.log(obj.name);//

韓信

//例2:

var num=50;

function

f1(num)

f1(num);

console.log(num);//

50

//

例3:var num1=55;

var num2=66;

function

f1(num,num1)

f1(num1,num2);

console.log(num1);//

55 console.log(num2);//

100 console.log(num);//

報錯

//

例4:function

person(name,age,salary)

function

f1(person)

var p=new person("趙六",18,1000);

console.log(p.name);

//趙六

f1(p);

console.log(p.name);//

張三

物件導向 建立物件

1.面向過程的思維方式 就是把解決問題的關注點,放到解決問題的每乙個詳細的步驟上面!物件導向的思維方式 物件導向就是一種思維方式,與 關係不大 就是把解決問題的關注點,放到解決問題需要的一系列物件身上 1 什麼是物件!萬物皆物件 2 物件的特徵 物件的特徵就是用來描述物件的相關資訊 比如乙個人物件,...

物件導向 建立物件

python中,可以根據已經定義的類去建立出乙個或多個物件。建立物件的格式為 物件名1 類名 物件名2 類名 物件名3 類名 建立物件demo class hero object 新式類定義形式 info 是乙個例項方法,類物件可以呼叫例項方法,例項方法的第乙個引數一定是self def info ...

物件導向程式設計 建立物件

方法一 物件字面量 方法二 object建構函式 方法三 工廠模式 function createperson name,age,job person.prototype.name nicholas perosn.protptype.age 29 person.prototype.job soft ...