# 数据类型
前言
- 基本数据类型:number、string、boolean、undefined、null
- 引用数据类型:object、array、function
# 1.类型判断
# 2.数字类型
# 1.1 isNaN
判断是否是NaN
var a = NaN
isNaN(a)
1
2
2
# 1.2 parseFloat
# 1.3 parseInt
# 3.字符串类型
- replace
- slice
# 4.布尔类型
# 5.undefined
# 6.null
# 7.对象类型
- Object.assign
- JSON.stringify
- JSON.parse
# 8.数组类型
- forEach
//-->forEach:用来遍历数组中的每一项
//1、数组中有几项,那么我们传递进去的匿名回调函数就需要执行几次
//2、每一次执行匿名函数的时候,还给其传递了三个参数值:数组中的当前项item,当前项的索引index,原始的数组input
//3、理论上我们的方法是没哟返回值的,仅仅是遍历数组中的每一项,不对原来的数组进行修改,但是我们可以通过数组的索引来修改原来的数组
var ary = [12, 3, 4, 5, 6]
ary.forEach(function () {
console.log("ok")
})
var res = ary.forEach(function (item, index, input) {
input[index] = item * 10
})
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- map
//map方法
//1、map的回调函数中支持return返回值,return是啥,相当于
//2、不管是forEach还是map都在ie6、7、8下不兼容
var ary = [12, 3, 4, 67, 8]
var res = ary.map(function (item, index, input) {
return item * 10
})
//匿名回调函数的this是window
var obj = { name: 10 }
var ary = [12, 3, 4, 67, 8]
var res = ary.map(
function (item, index, input) {
return this
}.call(obj)
) //undefined
var res = ary.map(
function (item, index, input) {
return this
}.bind(obj)
)
//不管是forEach还是map都支持两个参数,第二个参数是匿名函数的this
var res = ary.map(function (item, index, input) {
return this
}, obj)
Array.prototype.myForEach = function (callback, context) {}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26