js基础之-如何理解js中一切皆对象的说法





**

js中哪些对象会自动带有prototype属性??

**

如何判断关键点是: prototype 属性只存在于可能作为构造函数的函数上。如果函数不能/不应该使用 new 调用(如箭头函数),就没有 prototype 属性

1.在js中只有函数,特别是构造函数会自动获得prototype属性,

比如


2.不会自动生成的 prototype的情况



**

2.js中为什么没有prototype属性的函数不能new

**

简单来说:new操作符在执行时需要读取函数的prototype属性,将其作为新对象的原型。如果没有一个函数没有这个属性,new就失去了为对象建立原型链的关键依据,从而无法正常工作.

理解 new 到底干了啥

问题的核心:如果没有 F.prototype,引擎就不知道新对象应该继承什么。

**

3.不能new就 不new, 我们为什么需要new 呢

**



**

4.假设js语言中没有了 new 会怎么样的

**




**

5.普通对象{},数组\[\],函数function(){},他们的原型有啥区别

**

这是一个非常核心的问题。简单来说:普通对象、数组和函数都有不同的直接原型(proto 或 \[Prototype]),这些原型赋予了它们独特的能力,但最终通过原型链都指向同一个终点------Object.prototype。



jjjjjj

js中的继承







相关推荐
Wang's Blog6 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain7 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克6057 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_6787 小时前
深挖C++:类和对象(中)
开发语言·c++
灿飞屋7 小时前
Rust 编程其实很简单
开发语言·rust
MOONICK9 小时前
QT元数据
开发语言·qt
D e re k ZH10 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
子兮曰10 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
强尼银手10 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
灿飞屋10 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓