下面是“Javascript创建自定义对象 创建Object实例添加属性和方法”的完整攻略。
创建自定义对象
在Javascript中,可以通过构造函数创建自定义对象。它是一种特殊的函数,可以用来创建具有特定属性和方法的对象。以下是创建自定义对象的示例代码:
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHi = function() {
console.log("Hi, my name is " + this.name + " and I am " + this.age + " years old.");
};
}
var person1 = new Person("Tom", 20);
console.log(person1.name); // 输出 "Tom"
person1.sayHi(); // 输出 "Hi, my name is Tom and I am 20 years old."
上述代码中,通过使用function
关键字来创建名为Person
的构造函数,该函数接受两个参数name
和age
。this
关键字被用于引用新对象的属性name
和age
,this
关键字是指当前对象的上下文。
注意,在上面的代码中,sayHi
函数被直接定义和赋给了新创建的对象。这种方式的问题在于,每个新对象都会拥有一个独特的sayHi
函数。这意味着,如果需要创建几千个具有相同方法的对象,那么将会消耗大量的内存。为此,需要使用Javascript的原型,它允许所有创建的对象共享同一个函数。以下是使用原型的代码:
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.sayHi = function() {
console.log("Hi, my name is " + this.name + " and I am " + this.age + " years old.");
};
var person1 = new Person("Tom", 20);
console.log(person1.name); // 输出 "Tom"
person1.sayHi(); // 输出 "Hi, my name is Tom and I am 20 years old."
上述代码中,sayHi
方法被添加到Person
函数的原型中,这意味着每个通过调用new
运算符创建的对象都将共享这个方法。
添加属性和方法
可以使用Javascript中的点表示法和方括号表示法来向对象添加属性和方法。以下是代码示例:
var person = {};
person.name = "Tom"; // 使用点表示法
person['age'] = 20; // 使用方括号表示法
person.sayHi = function() {
console.log("Hi, my name is " + this.name + " and I am " + this.age + " years old.");
};
person.sayHi(); // 输出 "Hi, my name is Tom and I am 20 years old."
上述代码中,首先创建一个空对象person
,然后使用点表示法和方括号表示法向其添加两个属性name
和age
。最后,将一个名为sayHi
的函数添加到对象person
中,并调用它来输出相关内容。
另一种添加方法的方式是使用Javascript的原型。以下是代码示例:
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.sayHi = function() {
console.log("Hi, my name is " + this.name + " and I am " + this.age + " years old.");
};
var person1 = new Person("Tom", 20);
var person2 = new Person("John", 30);
console.log(person1.name); // 输出 "Tom"
person1.sayHi(); // 输出 "Hi, my name is Tom and I am 20 years old."
person2.sayHi(); // 输出 "Hi, my name is John and I am 30 years old."
上述代码中,sayHi
方法被添加到Person
的原型中,这意味着每个通过new
关键字创建的对象都将共享这个方法。这种方法能够节省内存并降低代码的复杂性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript创建自定义对象 创建Object实例添加属性和方法 - Python技术站