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中的继承







相关推荐
m0_694845574 分钟前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
春日见9 分钟前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
C++ 老炮儿的技术栈12 分钟前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
派葛穆19 分钟前
Python-批量安装依赖
开发语言·python
MSTcheng.31 分钟前
【C++】C++11新特性(二)
java·开发语言·c++·c++11
晓131333 分钟前
第七章 【C语言篇:文件】 文件全面解析
linux·c语言·开发语言
愚者游世33 分钟前
Delegating Constructor(委托构造函数)各版本异同
开发语言·c++·程序人生·面试·改行学it
梵刹古音36 分钟前
【C语言】 指针基础与定义
c语言·开发语言·算法
Ekehlaft39 分钟前
这款国产 AI,让 Python 小白也能玩转编程
开发语言·人工智能·python·ai·aipy
rit843249941 分钟前
MATLAB中Teager能量算子提取与解调信号的实现
开发语言·matlab