JavaScript是面向对象还是基于对象
# JavaScript是面向对象还是基于对象
对象的本质特征:
- 对象具有唯一标识性:即使完全相同的两个对象,也并非同一个对象。
- 对象有状态:对象具有状态,同一对象可能处于不同状态之下。
- 对象具有行为:即对象的状态,可能因为它的行为产生变迁。
关于对象具有唯一标识性:
var o1 = { a: 1 };
var o2 = { a: 1 };
console.log(o1 == o2); // false
1
2
3
2
3
不同的对象他们的内存地址是不同的,因此就算看起来一摸一样,但也是不同的两个对象,具有唯一标识性。
第二点和第三点,状态和行为在JavaScript中统一抽象为了“属性”,因为在JavaScript中将函数设计成了一种特殊对象,所以行为和状态都可以用属性来抽象。
var o = {
d: 1,
f() {
console.log(this.d);
}
};
1
2
3
4
5
6
2
3
4
5
6
JavaScript有两种面向对象的编程范式:
- 基于类
- 基于原型
结论:JavaScript是面向对象的编程语言
上次更新: 10/22/2021, 5:55:53 PM