【无标题】

原型和原型链

  • 所有的函数都是通过new函数创建
  • 所有函数都是对象 通过new Function创建
  • 函数中可以有属性
  • 所有对象都是引用类型
js 复制代码
function test() { return {} }
new test() // {} new Object创建的

function test() {  }
new test() //test {}

typeof Object //'function'
typeof Array // 'function'

原型 prototype

所有函数都有一个属性:prototype ,称之为函数原型 // 普通对象没有prototype

默认情况下,prototype是一个普通的Object对象 // prototype = { }

默认情况下,prototype中有一个属性,constructor, 他也是一个对象,它指向构造函数本身

js 复制代码
var test =new Object()
test.prototype.constructor===test. //  true
Object.prototype.constructor===Object // true

引式原型 __ proto__

所有对象都有一个属性:__proto__,称之为隐式原型

默认情况下,隐式原型指向创建该对象的函数的原型

js 复制代码
// 对象一定是通过构造函数产生 函数也是对象
function test() {  }
var obj = new test();
obj.__proto__ === test.prototype //true

var obj = new test();
obj.__proto__ === Object.prototype
相关推荐
历程里程碑4 分钟前
C++ 10 模板进阶:参数特化与分离编译解析
c语言·开发语言·数据结构·c++·算法
bing.shao6 分钟前
Golang WaitGroup 踩坑
开发语言·数据库·golang
Byron Loong9 分钟前
【Python】字典(dict)、列表(list)、元组(tuple)
开发语言·python·list
lsx20240611 分钟前
MySQL 处理重复数据
开发语言
老秦包你会11 分钟前
C++进阶------智能指针和特殊类设计方式
开发语言·c++
一水鉴天17 分钟前
整体设计 定稿 之23+ dashboard.html 增加三层次动态记录体系仪表盘 之2 程序 (Q199 之2) (codebuddy)
开发语言·前端·javascript
艾上编程21 分钟前
《Python实战小课:爬虫工具场景——开启数据抓取之旅》导读
开发语言·爬虫·python
掘金挖土36 分钟前
手摸手快速搭建 Vue3 + ElementPlus 后台管理系统模板,使用 JavaScript
前端·javascript
CoderHing37 分钟前
告别 try/catch 地狱:用三元组重新定义 JavaScript 错误处理
前端·javascript·react.js
再__努力1点44 分钟前
【68】颜色直方图详解与Python实现
开发语言·图像处理·人工智能·python·算法·计算机视觉