js : 检测数据四种方法-函数的定义和调用-数组常用的方法
作者:
Dream_丹丹 | 来源:发表于
2017-07-11 00:30 被阅读0次
检测数据类型的四种方法
方法 |
作用 |
typeof |
主要用来检测基本数据类型,无法检测出具体的引用数据类型 |
constructor |
属于构造函数,可以检测出调用constructor这个函数对象具体属于哪个类 |
instanceof |
检测对象是否属于某个类,若果属于返回true,否则返回false |
Object.prototype.toString.call |
打印出对象的具体信息 |
函数的基础知识
函数定义的3个步骤
- 开辟一个内存空间,并给这个空间一个名字
- 把函数体内的js代码以字符串的形式存入这个空间
- 将空间地址赋值给函数名
函数调用的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 |
遍历/循环数组的每一项 |
两个 |
数组有几个,有几个返回值 |
不改变原数组 |
本文标题:js : 检测数据四种方法-函数的定义和调用-数组常用的方法
本文链接:https://www.haomeiwen.com/subject/wexphxtx.html
网友评论