1. JavaScript 是面向对象的吗?
JavaScript 是一种面向对象的语言。它支持类和继承,并且具有原型链,因此可以使用对象来模拟面向对象编程中的类和实例。
2.为什么不直接使用 person?
如果你指的是直接使用 Person 作为类名而不是 person,那么这通常是因为 Person 是更符合命名规范和可读性的。使用驼峰命名法(例如 person)通常用于变量名,而类名通常使用 PascalCase(例如 Person)。
3.使用 构造函数 创建对象像面向对象三大特征中的哪一个?
使用构造函数创建对象与面向对象编程中的 "封装" 特性相对应。构造函数允许你隐藏对象的内部状态并控制对它的访问,从而实现封装。
4. 原型链像面向对象三大特征中的哪一个?
原型链与面向对象编程中的 "继承" 特性相对应。通过原型链,一个对象可以继承另一个对象的属性和方法。
5. 如果子对象设置和父对象同名的方法,那么执行哪一个?
如果子对象和父对象有同名的方法,子对象的方法会覆盖父对象的方法。这是属性遮蔽的一个例子,与 "封装" 和 "继承" 特性相关。
6. 属性遮蔽像面向对象三大特性中哪一个的具体实现?
属性遮蔽是实现封装的一种方式。通过遮蔽属性或方法,你可以隐藏对象的内部实现细节,并控制对它的访问。这有助于保护数据并防止外部代码意外地修改或破坏对象的内部状态。
7.私有符号 # 为什么无效?
在 JavaScript 中,私有符号(例如 #)是 ECMAScript 2020 (ES11) 中引入的私有字段的语法糖。但是,由于某些浏览器和环境可能不支持私有字段语法,因此在某些情况下它可能会无效或不起作用。此外,私有字段语法是可选的扩展功能,不是所有 JavaScript 环境都必须支持它。