newobject
var x=
"age"
;var obj=new object()
;obj.name=
"gao"
; obj.x=18;
.字串
obj[x]=16
;// [變數]
console.
log(obj)
;
字面量
物件 中 __proto__
函式 中 prototype
var x=
"hooby"
;
var obj=
;obj.***=
"男";
obj[x]
="唱歌"
obj.say= function (
)
console.
log(obj)
;.字串
[變數 /
"key名"
/"key名是特殊字元"
]var obj2=
;console.
log( obj2[
"aa bb"])
; console.
log( obj2[
".x"])
;
工廠模式
var obj1=
} var obj2=
} var obj3=
} var obj4=};
function students
(name,age)
}return obj;
}1、建立函式 2、傳入引數 3、函式內建立物件 4、retrun 物件 *依次呼叫
var obj1 =
students
("gao",18
); console.
log(obj1)
;
console.
log(obj1 instanceof object)
; 迴圈呼叫
var names=
["gao"
,"wang"
,"li"
,"zhao"];
var ages=[18
,19,20
,21];
for(var i=
0;i優點: 返回 新物件,互不影響
缺點: **重複(相同方法)
有從屬(不能知道物件從那裡來)
-->instanceof 只能判斷 是 物件,不能判斷屬於誰
建構函式
優點: 有從屬
缺點: **重複(相同方法)
共識:建構函式首字母大寫
function students
(name,age)
}
建構函式寫法:
1、建立函式 2、傳入引數 3、this.屬性名 = 值
呼叫:var obj =new 建構函式(引數)
var obj1= new students
("gao",19
); console.
log(obj1)
;
console.
log( obj1 instanceof object )
; console.
log( obj1 instanceof students )
;
原型模式
原型模式
優點: 公共/相同 的 屬性 、方法 不重複
有從屬關係// 缺點: 原型上的 屬性不可單獨改變
function fn()
fn.prototype.name=
"高";
fn.prototype.age=
19;
var obj1=new fn()
; console.
log(
"obj1"
,obj1)
; 修改 obj1.__proto__.name
obj1.__proto__.name 發生變化
obj2.__proto__.name 發生變化
obj1 和 obj2 共用 __proto__ 物件
公共/相同 的 屬性 、方法 放在 建構函式.prototype 上 -- 實現 **不重複
obj1.__proto__.name =
"王";
console.
log(
"obj1-name:"
,obj1.__proto__.name,obj1.name) var obj2=new fn()
;console.
log(
"obj2"
,obj2)
;console.
log(
"obj2-name:"
,obj2.__proto__.name,obj2.name)
;
組合模式
組合模式 (構造 + 原型)
有從屬關係
不重複屬性定義在 建構函式 內
function fn
(name,age)
方法 定義在 建構函式的 原型物件上 fn.prototype.say=
function()
var obj1= new fn
("gao",12
);
var obj2= new fn
("王",19
);console.
log(
"obj1"
,obj1)
;
console.
log(
'obj2'
, obj2)
;bj1.
say(
);
obj2.
say(
);
PHP 建立物件的六種方式
class demo public function getobj public function getstaticobj class demo1 extends demo echo 1.用new 類名 建立乙個物件 obj new demo 2.將類名以字串的方式放在乙個變數中 classnam...
JS建立物件的六種方式
表現方式 代表對映 代表賦值 var x age var obj newobject obj.name show obj.x 18 字串 obj x 40 變數 console.log obj var x hooby var obj obj.man obj x dance obj.say funct...
六種基本排序方式
package new03 public class demo4 sop 原序列的結果是 for int x nums sop n selectsort nums insertsort nums bubblesort nums quicksort nums shellsort nums heapso...