原型链、继承的发展史及数组的定义

本文探讨JavaScript原型的基础概念,包括原型链的构建、继承策略变迁,以及命名空间的管理。讲解了原型链的构成、对象的__proto__和constructor属性,介绍了圣杯模式和类数组对象。同时涵盖了this关键字在不同情境下的行为和数组的特性和操作方法。
摘要由CSDN通过智能技术生成

原型

1.定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的
公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。
2.利用原型特点和概念,可以提取共有属性。
3.对象如何查看原型 — > 隐式属性 __proto__
4.对象如何查看对象的构造函数 — > constructor

原型链

如何构成原型链?
原型链上属性的增删改查
绝大多数对象的最终都会继承自Object.prototype
Object.create(原型);
call/apply的作用是改变this指向。
区别,后面传的参数形式不同。

继承发展史

1.传统形式 —-> 原型链
过多的继承了没用的属性
2.借用构造函数
不能继承借用构造函数的原型
每次构造函数都要多走一个函数
3.共享原型
不能随便改动自己的原型
4.圣杯模式

命名空间

管理变量,防止污染全局,适用于模块化开发

this关键字

1.函数预编译过程 this —> window
2.全局作用域里 this —> window
3.call apply 可以改变函数运行时this指向
4.obj.func();   func()里面的this指向obj)

数组

数组的定义:
new Array(length/content);
字面量,数组的读和写
arr[num] //不可以溢出读 结果undefined
arr[num] = xxx;//可以溢出写
数组常用的方法
改变原数组
push, pop, shift, unshift,sort,reverse,splice
不改变原数组
concat,join—>split,toString,slice

类数组

1.可以利用属性名模拟数组的特性
2.可以动态的增长length属性
3.如果强行让类数组调用push方法,则会根据length属性值的位置进行属性的扩充。

三目运算符

形式:判断语句? 若为真,执行,并返回结果:若为假,执行,并返回结果
三目运算符其实就是简化版的if(){…}else{}语句
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值