JavaScript對(duì)象是"屬性的無(wú)序集合",里面以鍵/值對(duì)顯現(xiàn)然低;屬性為字符串喜每,其值為任意類型。
JavaScript中的所有事物都是對(duì)象:字符串雳攘、數(shù)組带兜、數(shù)值、函數(shù) ...吨灭,JavaScript提供了基本的內(nèi)置對(duì)象供開發(fā)人員直接使用刚照,如:FormData,String,Date,Array,File等。
在項(xiàng)目開發(fā)中喧兄,一些固定的邏輯或功能无畔,通常會(huì)封裝在自定義的JavaScript對(duì)象中,以便于代碼的復(fù)用和管理繁莹。
訪問(wèn)對(duì)象屬性
var value = object.propertyName;
var value = object['propertyName'];
調(diào)用對(duì)象的方法
object.methodName();//無(wú)參
object.methodName(parm1,...);//有參
自定義對(duì)象的創(chuàng)建
1.字面量創(chuàng)建對(duì)象
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
//或者:
person = {
firstname:'Bill',
lastname:'Gates',
age:56,
eyecolor:'blue'
}
2.new 構(gòu)造函數(shù)
function People(name) {
this.name = name;
this.createTool = function(){
console.log('I can fly');
}
}
var people = new People('Paula');
people.createTool();
3.使用Object.create(prototype,propertyDescriptor)
參數(shù)prototype:創(chuàng)建對(duì)象的原型檩互,若為null,即對(duì)象的原型為undefine
propertyDescriptor:{} 可選,描述屬性
function Animal() {
}
Animal.prototype = {
actions: function(){
console.log('RUN');
}
};
//以Animal對(duì)象為原型,可繼承其它原型的方法
var people = Object.create(Animal.prototype,{
name:{value:'tom'},
age:{value:56},
createTool: {value:
function(){
console.log('I CAN JUMP');
}
}
});
console.log(people.name);
console.log(people.age);
people.createTool();
people.actions();