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 遍历/循环数组的每一项 两个 数组有几个,有几个返回值 不改变原数组
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容