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

2022-11-21 15:26:44 浏览数 (2)

原型

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

原型链

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

继承发展史

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

命名空间

代码语言:javascript复制
管理变量,防止污染全局,适用于模块化开发

this关键字

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

数组

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

类数组

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

三目运算符

代码语言:javascript复制
形式:判断语句? 若为真,执行,并返回结果:若为假,执行,并返回结果
三目运算符其实就是简化版的if(){…}else{}语句

0 人点赞