Carmineprince's Blog
首页
    • HTML
    • CSS
    • JavaScript
    • Vue
    • React
    • TypeScript
    • Node
    • Flutter
    • Electron
    • Python
    • 运维
    • 重学前端
  • 分类
  • 标签
  • 归档

Ziqi Wang

胡思乱想程序员
首页
    • HTML
    • CSS
    • JavaScript
    • Vue
    • React
    • TypeScript
    • Node
    • Flutter
    • Electron
    • Python
    • 运维
    • 重学前端
  • 分类
  • 标签
  • 归档
  • 关于类型,有哪些细节需要注意
  • JavaScript是面向对象还是基于对象
  • 《重学前端》
carmineprince
2021-10-22

JavaScript是面向对象还是基于对象

# JavaScript是面向对象还是基于对象

对象的本质特征:

  • 对象具有唯一标识性:即使完全相同的两个对象,也并非同一个对象。
  • 对象有状态:对象具有状态,同一对象可能处于不同状态之下。
  • 对象具有行为:即对象的状态,可能因为它的行为产生变迁。

关于对象具有唯一标识性:

    var o1 = { a: 1 };
    var o2 = { a: 1 };
    console.log(o1 == o2); // false
1
2
3

不同的对象他们的内存地址是不同的,因此就算看起来一摸一样,但也是不同的两个对象,具有唯一标识性。

第二点和第三点,状态和行为在JavaScript中统一抽象为了“属性”,因为在JavaScript中将函数设计成了一种特殊对象,所以行为和状态都可以用属性来抽象。

    var o = { 
        d: 1,
        f() {
            console.log(this.d);
        }    
    };
1
2
3
4
5
6

JavaScript有两种面向对象的编程范式:

  • 基于类
  • 基于原型

结论:JavaScript是面向对象的编程语言

#javascript#笔记#重学前端#极客时间
上次更新: 10/22/2021, 5:55:53 PM
关于类型,有哪些细节需要注意

← 关于类型,有哪些细节需要注意

最近更新
01
pc端rem配置
03-02
02
使用动态变量ts报错的解决
02-25
03
React Hook详解
02-18
更多文章>
Theme by Vdoing | Copyright © 2021-2022 Carmineprince | 鲁ICP备2021046263号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式