本文进一步分析讲述了javascript面向对象之对象的深入理解。分享给大家供大家参考。

面向对象的思维特点:
在js中,对象是一组无序的相关属性和方法的集合,万物皆对象
对象是由属性和方法组成的:
在 ES6 中新增加了类的概念,可以使用 class 关键字声明一个类,之后以这个类来实例化对象
类与对象的区别:
语法:
class name {
// 添加属性和方法,也可以再嵌入一个类
class age {},
}
创建实例
let a = new name(); // 类必须使用new实例化对象
constructor() 方法是类的构造函数(默认方法),用于传递参数,返回实例对象,通过 new 命令生成对象实例时,自动调用该方法。如果没有显示定义, 类内部会自动给我们创建一个constructor()
语法:
class Person {
constructor(name,age) { // constructor 构造方法或者构造函数
this.name = name;
this.age = age;
}
sayHi() {
console.log('我会唱歌');
}
// 注意,方法之间不需要加逗号。同时函数不需要加function关键字
}
创建实例:
var ldh = new Person('刘德华', 18);
console.log(ldh.name);
ldh.sayHi();
实例:
class Father {
constructor(surname) {
this.surname= surname;
}
say() {
console.log('你的姓是' + this.surname);
}
}
class Son extends Father{ // 这样子类就继承了父类的属性和方法
}
var damao= new Son('刘');
damao.say();
super关键字用于访问和调用对象父类上的函数,可以调用父类的构造函数,也可以调用父类的普通函数
语法:
class Father {
constructor(x,y) {
this.x = x;
this.y = y;
}
sum() {
console.log(this.x + this.y);
}
say() {
return '我是爸爸';
}
}
class Son extends Father{
constructor(x,y) {
// this.x = x;
// this.y = y;
super(x,y); // 调用了父类中的构造函数 ,super必须写在子类this之前调用
// 子类在构造函数中使用super, 必须放到 this 前面 (必须先调用父类的构造方法,在使用子类构造方法)
this.x = x;
this.y = y;
}
say() {
console.log(super.say() + '的儿子'); // 利用super调用父类的函数
}
substract() {
console.log(this.x - this.y);
}
}
var son = new Son(11,2);
console.log(son);
son.say();
son.substract();
son.sum();
具体分析如下:
javacript面向对象程序设计中,可以理解为一切都是对象。
实例代码如下:
<script language="javascript" type="text/javascript">
function Cat(){
}
var cat1 = new Cat();//创建类实例
cat1.name = "小狗";
cat1.age = 4;
cat1.color="白色";
document.write(cat1.name);
document.writeln(cat1.constructor);//实例化后对象,是对象
document.writeln(typeof(cat1)+"<hr />");
document.writeln(Cat.constructor);//原型对象本身也是对象
document.writeln(typeof Cat+"<hr />");
var b="hello";//字符串也是对象
document.writeln(b.constructor);//输出它的构造函数
document.writeln(typeof b+"<hr />");
var c=123;//数值也是对象
document.writeln(c.constructor);
document.writeln(typeof c+"<hr />");
</script>
判断一个实例化对象是不是某个原型对象类型
if(cat1 instanceof Cat){//与php的判断方法相同
window.alert("ok");
}
希望本文所述对大家的javascript程序设计有所帮助。