JavaScript 对象初始化器
JavaScript 中的对象可以与现实生活中的对象进行比较。它们具有附加的属性和方法,并且属性采用键值对的形式。让我们通过一个例子来理解这一点。在现实世界中,摩托车是一个对象,它具有名称、颜色、价格等属性。它附加了一些方法,如启动、制动、停止等。所有摩托车都具有相似的属性,但值会与众不同。同样的概念也适用于编程,称为面向对象编程。
JavaScript 对象可以通过多种方式初始化,如下所示。
- 使用对象字面量
- 使用新的 Object() 方法
- 使用 Object.create() 方法
- 使用构造函数
让我们了解所有方法 -
使用对象字面量:
句法:
var obj = { name: "value", .... }
可以使用点表示法或括号表示法访问 JavaScript 对象的属性。例如, obj.name或obj['name']将为我们提供值。
例子:
Javascript
var person = {
name: "Sarah",
age: 20,
gender: "female"
};
console.log(person);
console.log(person.name + " is a " + person.age + "
year old " + person.gender);
console.log(person.name + " is a " + person.age + "
year old " + person["gender"]);
Javascript
var Person = new Object();
Person.name = "Sarah";
Person['age'] = 20;
Person.gender = "female";
console.log(Person);
console.log(Person.name + " is a " + Person.age +
" year old " + Person.gender);
console.log(Person.name + " is a " + Person.age +
" year old " + Person["gender"]);
Javascript
var Person = Object.create({})
Person.name = "Sarah";
Person["age"] = 20;
Person.gender = "female";
console.log(Person);
console.log(Person.name + " is a " + Person.age +
" year old " + Person.gender);
console.log(Person.name + " is a " + Person.age +
" year old " + Person["gender"]);
Javascript
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
var personOne = new Person("Sarah", 20, "gender");
console.log(personOne);
console.log(personOne.name + " is a " + personOne.age +
" year old " + personOne.gender);
console.log(personOne.name + " is a " + personOne.age +
" year old " + personOne["gender"]);
输出:
使用新的 Object() 方法:
句法:
var obj = new Object();
obj.name = "value";
要么
obj["name"] = "value";
new Object()方法将创建一个新的 JavaScript 对象,其属性可以使用点或括号表示法进行初始化。
例子:
Javascript
var Person = new Object();
Person.name = "Sarah";
Person['age'] = 20;
Person.gender = "female";
console.log(Person);
console.log(Person.name + " is a " + Person.age +
" year old " + Person.gender);
console.log(Person.name + " is a " + Person.age +
" year old " + Person["gender"]);
输出:
使用 Object.create() 方法:
句法:
var Obj = Object.create({});
Obj.name = "value";
要么
Obj["name"] = "value";
Object.create()方法将创建一个新的 JavaScript 对象,其属性可以使用点或括号表示法初始化。
例子:
Javascript
var Person = Object.create({})
Person.name = "Sarah";
Person["age"] = 20;
Person.gender = "female";
console.log(Person);
console.log(Person.name + " is a " + Person.age +
" year old " + Person.gender);
console.log(Person.name + " is a " + Person.age +
" year old " + Person["gender"]);
输出:
使用构造函数:
句法:
function Obj(name) {
this.name = name;
}
var myobj = new Obj("my name");
在此方法中,构造函数用于定义对象, this用于为属性赋值。使用new关键字创建对象的实例。
例子:
Javascript
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
var personOne = new Person("Sarah", 20, "gender");
console.log(personOne);
console.log(personOne.name + " is a " + personOne.age +
" year old " + personOne.gender);
console.log(personOne.name + " is a " + personOne.age +
" year old " + personOne["gender"]);
输出:
支持的浏览器:
- 铬 1 及以上
- 边缘 12 及以上
- 火狐 1 及以上
- Internet Explorer 1 及更高版本
- Opera 4 及以上
- Safari 1 及以上