instanceof运算符与 arguments关键字

236 阅读1分钟

一.instanceof

  1. instanceof(关键字): 运算符用于检测 构造函数的prototype在不在实例对象的原型链中 说人话: 亲子鉴定,鉴定两个对象之间有没有血缘关系
2. 实例对象 instanceof 构造函数

检测 右边构造函数的prototype 在不在 左边实例对象原型链

  1. 应用 : 某些函数为了限制你的数据类型,在内部需要用instanceof进行判断是否是正确的数据类型

image.png

image.png

二.arguments关键字

1. arguments关键字: 获取函数所有的 实参
        是一个伪数组 :  有数组三要素(元素、下标、长度),但是不能使用数组的方法

2. 应用 : 一般用户参数数量不限的函数. 
        例如: arr.push()  Math.max()  这些函数实参数量不限,底层原理就是使用arguments来接收所有的实参

3. 剩余参数(rest参数) : 获取函数剩余的所有实参
        语法:  function 函数名(形参1,...形参2){}
        特点: (1)只能作为最后一个参数  (2)是真数组

4. 一般情况下,rest参数可以替代arguments

5. 函数默认参数
   function 函数名(形参=默认值){  }
   

rest参数 image.png 函数默认参数 image.png