變量 instanceof 類型的名字----->布爾類型,true就是這種類型,false不是這種類型
在當前的對象的方法中,可以使用this關鍵字代表當前的對象
1.調用系統的構造函數創建對象
var 變量名= new Object(); Object 是系統的構造函數 Array
添加屬性-----如何添加屬性? 對象.名字=值;
修改屬性-----如何修改屬性? 對象.名字=值;
添加方法-----如何添加方法? 對象.名字=函數;
屬性調用-----對象名.屬性 或者 對象名[“屬性名”];
方法調用-----對象名.方法名
//有一個黃色的小狗,叫大黃,今年已經三歲了,250斤的重量每次走路都很慢,喜歡吃大骨頭 var dog = new Object(); dog.name = "大黃"; dog.age = 3; dog.weight = 250; dog.walk = function () { console.log(this.name + "它" + this.weight + '斤' + '走路很慢'); console.log(this.name + '喜歡吃大骨頭'); }//this 目前是指 誰調用這個函數就指向誰 更加深層的還不知道 console.log(dog.name); console.log(dog.age); console.log(dog.weight); dog.walk();
2.自定義構造函數創建對象(結合第一種和需求通過工廠模式創建對象)
//如何一次性創建多個對象?把創建對象的代碼封裝在一個函數中
//工廠模式創建對象
function createObject(name, age, sex) {
//創建對象
var obj = new Object();
//添加屬性
obj.name = name;
obj.age = age;
obj.sex = sex;
//添加方法
obj.walk = function () {
console.log(this.name + " " + '性別:' + this.sex + " " + "今年:" + this.age + " " + "愛走路");
};//在當前的對象的方法中,可以使用this關鍵字代表當前的對象
return obj;//注意 注意 一定記得把obj返回
}
//創建第一個對象
var xiaohong = createObject("小紅", 18, "女");
xiaohong.walk()
//創建第二個對象
var xiaoming = createObject("小明", 28, "男");
xiaoming.walk()
//自定義構造函數創建對象,我要自己定義一個構造函數,自定義構造函數,創建對象 //函數和構造函數的區別;名字是不是大寫(首字母是大寫) //自定義狗的構造函數,創建對象 function Dog(name, age, sex) { this.name = name; this.age = age; this.sex = sex; this.chi= function() { console.log("它叫"+this.name+" " + '今年:' + this.age +"歲"+ ' ' + this.sex); } } //自定義構造函數創建對象:先自定義一個構造函數,創建對象 var dabai = new Dog("大白","3","公");//記得這里得用 new 創建對象 dabai.chi();
3.字面量的形式創建對象
var obj ={ name:"小明",//直接設置屬性 中間用逗號隔開 age:18, eat: function(){ console.log("吃飯了"); },//方法也直接設置 sayHi:function(){ console.log("我是"+this.name+" "+"我今年"+this.age) } } obj.eat(); obj.sayHi();