js世界&原型

Window对象代表浏览器窗口,每个框架都有自己的window对象。JavaScript中的prototype是函数的属性,保存构造函数的属性/方法,而__proto__是实例对象的属性,用于原型链查找。通过原型链,对象可以访问JS提供的属性和方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Window对象

定义:Window 对象表示浏览器中打开的窗口,是浏览器提供的。所有浏览器都支持该对象。

如果文档包含框架(<frame> 或 <iframe> 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。

window的常见方法:

 用内存图表示window:

注:灰色的变量名不属于对象,Object这类首字母大写的对象一般有prototype属性。

 window对象&window变量:

  • window变量,是变量名存在不知什么区
  • window对象,是属性和方法组成的一堆数据,在Heap堆区
  • console.dir(对象名),目录形式打印对象的结构

注:对象没有名字只有地址,对象和他的变量名通过地址连接在一起。

 

 2.prototype原型

 prototype原型&__proto__原型链:

  • prototype:显式原型,是函数function的一个属性 ,即原型对象(类型-Object)
  • __proto__:隐式原型,是实例对象拥有的属性 ,即原型链对象(类型-Object)
  • isPrototypeOf(): 检测两个对象之间是否存在原型关系
  • 函数的所有实例对象自动拥有原型中的属性/方法,对象的隐式原型 __proto__值为构造函数的显式原型prototype的值

prototype&__proto__作用:

  •  prototype:保存构造函数构造的属性/方法,使构造出来的函数共享属性/方法

  • __proto__:读实例对象的属性/方法时,顺着 __proto__属性链式查找(对象本身->父级->根Object->undefined)

 js世界内存图结构:

  •  浏览器和Window对象提供的方法,通过prototype存储就构成了JS世界
  • 你新建的对象实例通过__proto__属性就可以访问JS提供的属性/方法。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值