JavaScript高级程序设计(第3版)学习笔记10 再访js对象攻略:
什么是JS对象
JS对象是可变的键控集合,它们的(键)对应的值可以是函数、数组、基本类型值或其他对象。对象在JavaScript中的作用非常广泛,JavaScript是一门基于对象的编程语言,它支持面向对象的编程方式。
构造函数
构造函数是创建特定类型对象的一种特殊函数,它充当初始化对象的角色。构造函数与普通函数的不同之处在于,构造函数的名称通常以大写字母开头,而普通函数则以小写字母开头。以下是构造函数的一个示例:
function Person(name, age) {
this.name = name;
this.age = age;
this.sayName = function() {
console.log(this.name);
};
}
原型
原型是一种用于实现对象的关联的编程模式。它是实现继承的主要方式之一,JavaScript中的原型由prototype属性进行引用。每个函数都有一个prototype属性,它是一个对象,包含一些共享的属性和方法。
Person.prototype.sayAge = function() {
console.log(this.age);
};
继承
JavaScript中提供了基于原型的继承机制,子类对象可以通过原型链来访问父类对象的方法和属性。以下示例演示了如何通过原型继承实现一个圆形对象:
function Shape() {}
Shape.prototype = {
commonProp: 'common property',
};
function Circle(radius) {
this.radius = radius;
}
Circle.prototype = Object.create(Shape.prototype);
Circle.prototype.area = function() {
return Math.PI * this.radius * this.radius;
};
var myCircle = new Circle(10);
console.log(myCircle.commonProp); // "common property"
console.log(myCircle.area()); // 314.1592653589793
在上面的示例代码中,在继承Shape的属性和方法后,添加了一个area()函数,用于计算圆形的面积。 通过new运算符来创建Circle对象,然后可以访问Shape中的属性和area方法。
检查属性是否存在
JavaScript中提供了一种检查对象是否拥有某个属性的方法,这个方法是Object.hasOownProperty()。以下是一个示例:
var person = {
name: 'Tom',
age: 18,
};
console.log(person.hasOwnProperty('name')); // true
console.log(person.hasOwnProperty('gender')); // false
此处的代码是创建一个person对象,然后使用hasOwnProperty检查对象是否存在属性name和gender。它返回true和false,表示person对象包含属性name但不包含属性gender。
以上就是JavaScript高级程序设计(第3版)学习笔记10 再访js对象攻略的详细讲解,包含了对象、构造函数、原型、继承等重要内容。此外,还给出了两个详细的示例代码,供读者参考练习。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript高级程序设计(第3版)学习笔记10 再访js对象 - Python技术站