【无标题】

原型和原型链

  • 所有的函数都是通过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
相关推荐
小蒜学长6 分钟前
springboot基于javaweb的小零食销售系统的设计与实现(代码+数据库+LW)
java·开发语言·数据库·spring boot·后端
会开花的二叉树21 分钟前
c语言贪吃蛇游戏开发
c语言·开发语言
韩立学长29 分钟前
【开题答辩实录分享】以《C#大型超市商品上架调配管理系统的设计与实现》为例进行答辩实录分享
开发语言·c#
爱看书的小沐1 小时前
【小沐学WebGIS】基于Three.JS绘制飞行轨迹Flight Tracker(Three.JS/ vue / react / WebGL)
javascript·vue·webgl·three.js·航班·航迹·飞行轨迹
tao3556671 小时前
【Python刷力扣hot100】49. Group Anagrams
开发语言·python·leetcode
龙腾AI白云1 小时前
大模型-扩散模型(Diffusion Model)原理讲解(4)
开发语言
井柏然2 小时前
前端工程化—实战npm包深入理解 external 及实例唯一性
前端·javascript·前端工程化
爱吃小胖橘2 小时前
Lua语法(2)
开发语言·unity·lua
_Power_Y2 小时前
SSM面试题学习
java·开发语言·学习
SccTsAxR2 小时前
[初学C语言]关于scanf和printf函数
c语言·开发语言·经验分享·笔记·其他