方法一:通過var object={} 對象字面量
(1),可以叫對象直接量來自定義一個對象。對象自面量是一個表達(dá)式,這個表達(dá)式的每次運(yùn)算都創(chuàng)建并初始化一個新對象。
var user = { x:1,y:2,z:3,pp:function(){ alert("22222222") }}
//用字面量定義一個對象,是以名值對的方式來保存的
alert(user.y) //調(diào)用屬性
user.pp() //調(diào)用方法
(2) var student = { //還可以換行寫,每義定一個屬性名和值,用逗號分開,最后一個不加逗號,加了會被忽略,但在ie中會報(bào)錯,最好不要加
"x":1, //定義屬性名的時候可以用雙引號
'y':2, //定義屬性名的時候可以用單引號
z:12.3, //定義屬性名的時候可以加任何
"for":"使用關(guān)鍵字來定義屬性名要加上引號", //使用關(guān)鍵字定義的話必須加上雙引號 man:{ //對象里面還可以簽到對象
text:null, //對象的屬性值可以是多種數(shù)據(jù)類型
text2:undefined,
married:true
},
dd:function(){alert("33333333")}
}
alert(student.x)
student.dd()
方法二:通過 var obj = new Object();創(chuàng)建對象
1、創(chuàng)建一個空白的Object對象
寫法1:var obj = new Object();
寫法2:var obj = {};
2、給創(chuàng)建的對象添加屬性和方法
var obj = {};
obj.name = '小明'; //屬性
obj.showName = function(){ //方法
alert(this.name);
};
obj.showName(); //方法的調(diào)用
==========================================
1 <script>
2 var obj = new Object() //創(chuàng)建了一個對象,object對象也是對象中的頂級對象
3 var arry = new Array() //創(chuàng)建了一個數(shù)組對象
4 var date = new Date() //創(chuàng)建一個時間對象
5 var reg = new RegExp("js") //創(chuàng)建一個正則對象6
</script>
==========================================
===========================================
通過object.create來創(chuàng)建對象
1 <script>
2 var obj = Object.create({x:1})
3 var obj = Object.create(null) //創(chuàng)建了一個沒有原型的對象,沒有任何方法
4 var obj = Object.create(obj.prototype) //創(chuàng)建了一個普通的空對象
5 </script>
===========================================
方法三:通過構(gòu)造函數(shù)來創(chuàng)建對象
通過instanceof操作符可以檢測一個對象是否由某個指定的構(gòu)造器函數(shù)來創(chuàng)建的對象
注意:
使用的時候可以通過new操作符得到對象。
用構(gòu)造器創(chuàng)建對象的時候可以接收參數(shù)
構(gòu)造器函數(shù)的首首字母最好大寫,區(qū)別其他的一般函數(shù)
function Person(name,age){ //創(chuàng)建一個person的函數(shù)
this.name =name; //此處的this對應(yīng)的是對象obj
this.age = age
}
var obj = new Person("ziksang",21) //用一個構(gòu)造函數(shù)來創(chuàng)建了對象
alert(obj.name) //=>ziksang 用對象名.對象的屬性來獲得屬性值
alert(typeof obj) //=>用typeof來檢測obj是不是一個對象類型, 返回object
alert(obj instanceof Person) //=> 用instanceof 來檢測objcet是不是person函數(shù)構(gòu)造出來的對象,返回true
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
方法(1)==方法(2)
(1)
var obj = new Object();
obj.name = "孫悟空";
obj.age = 18;
obj.sayName = function(){ alert(obj.name); };
function fun(){ alert(obj.name); };
obj.sayName();
fun();
(2)
var obj2 = {
name:"豬八戒",
age:18,
sayName:function(){ alert(obj2.name); }
};
obj2.sayName();