js : 检测数据四种方法-函数的定义和调用-数组常用的方法

检测数据类型的四种方法

方法 作用
typeof 主要用来检测基本数据类型,无法检测出具体的引用数据类型
constructor 属于构造函数,可以检测出调用constructor这个函数对象具体属于哪个类
instanceof 检测对象是否属于某个类,若果属于返回true,否则返回false
Object.prototype.toString.call 打印出对象的具体信息

函数的基础知识

  • 函数由两部分构成
    • 函数定义阶段
    • 函数调用阶段
      • 函数只定义,不调用,什么都不会发生

函数定义的3个步骤

  1. 开辟一个内存空间,并给这个空间一个名字
  2. 把函数体内的js代码以字符串的形式存入这个空间
  3. 将空间地址赋值给函数名

函数调用的2个步骤

  1. 函数调用的时候形成一个私有作用域
  2. 把空间内的字符串,作为js代码执行

函数的返回值

  • 返回值 : return
  • undefined 出现的情况:
    • 没有写return
    • 写了return,但是没有返回值
    • 获取对象的某个值不存在时,拿到的值为undefined
    • 定义了形参,没有传实参,拿到的是undefined
  • argument.callee 拿到的是函数体本身
  • 函数包含 有名函数 和 匿名函数
    • 匿名函数:给对象的某个属性添加函数表达式
    • 匿名函数:函数自己调用自己

闭包

  • 函数调用的时候,会形成一个私有作用域,保护里面的变量不受外界的干扰,函数的这种保护机制,叫做闭包
  • 子函数可以调用父级函数的私有变量

数组常用的方法

名称 作用 参数 返回值 是否改变原数组
push 给数组末尾增加一个或多个 一个或多个 返回数组的长度 改变原数组
pop 从数组末尾删除一个 返回删除的内容 改变原数组
unshift 给数组的头部增加一个或多个 一个或多个 返回数组的长度 改变原数组
shift 从数组的头部删除一项 返回被删除的内容 改变原数组
splice 从索引n开始,后面全部删除 一个参数 被删除的内容以一个新数组的形式返回 改变原数组
splice 从索引n开始,删除几个 两个参数 被删除的内容以一个新数组的形式返回 改变原数组
splice 从索引n开始,增加几个 三个以上,第二个为零 改变原数组
splice 从索引n开始,将某些替换 三个以上,第二个不为零 改变原数组
slice 从第n个开始,克隆m项,包前不包尾 两个 被克隆的内容以数组的形式返回 原数组不变
slice 全部克隆 0 或者 没有 被克隆内容以一个数组的形式返回 原数组不变
concat 拼接数组 多个 返回拼接后的数组 原数组不变
concat 克隆数组 返回克隆后的数组 原数组不变
reverse 翻转数组 返回翻转后的数组 改变原数组
sort 数组排序 一个匿名函数 返回排序后的数组 改变原数组
toString 将数组转换成字符串 返回转换后的字符串 不改变原数组
join 将数组某个连接符转换为字符串 连接符 返回转换后的字符 不改变原数组
indexof 查找对象中是否有某一个元素 要查找的元素 有返回元素所在索引,无返回-1 不改变原数组
forEach 遍历/循环数组的每一项 两个 不改变原数组
map 遍历/循环数组的每一项 两个 数组有几个,有几个返回值 不改变原数组
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。