使用javascript过程中遇到的一些tips
- javascript if 语句
javascript的条件语句中,null和undefined被识别为false
let foo //声明了变量foo但是未进行初始化
console.log(foo) //foo的类型为undefined
if (foo) {
console.log('foo is defined')
} else {
console.log('foo is undefined!')
}
if (null) {
console.log('null for true')
} else {
console.log('null for false')
}
- javascript中的for循环
现在有如下数组:
let arr = ['java', 'android', 'kotlin', 'iOS', 'swift']
在js中有如下方法遍历该数组:
- 标准的 for 循环
for (let i = 0; i < arr.length; i++) {
console.log(arr[i])
}
- js for in
for (let index in arr) {
console.log(arr[index])
}
forin语句还可以遍历对象中的属性:例如,针对如下json对象,使用forin语句会遍历其属性:
let jsonObj = {
name: 'Mike',
age: '24',
title: 'Software Developer',
education: 'CMU'
}
for (let key in arr) {
console.log(arr[key])
}
- js for of:ES6中增加了forof语句,可以更加方便地遍历一个数组
console.log('js for of...')
for (let item of arr) {
console.log(item)
}
- Array.forEach:数组类型提供了forEach方法
arr.forEach(function (value, index, arr) {
console.log(value)
console.log(arr[index])
})
- Array.map:数组的映射方法,可以将数组映射为一个新的数组
例如,有如下对象数组jsonArr,经过映射后的新数组为nameArr
let jsonArr = [{
empno: 10,
name: 'Mike'
}, {
empno: 10,
name: 'Mary'
}, {
empno: 10,
name: 'Max'
}]
let nameArr = []
nameArr = jsonArr.map(item => {
return item.name
})
console.log(nameArr) // nameArr 为 ['Mike', 'Mary', 'Max']