这是我参与[第五届青训营]伴学笔记创作活动的第11天 // 重点讲三个比较运算符 // 比较运算符会在比较过程中,做隐式转换,转为number类型再比较
/* 这两个运行结果均为true
因为 == 不管你数据类型,只管值是不是相同 */
console.log(5 == 5)
console.log(5 == '5')
/* 但是 === 要求更严格
不光要判断值,还要判断数据类型是否相等(开发常用,严谨) */
console.log(5 === 5)
console.log(5 === '5')
// !== 表示不全等,结果与全等相反
console.log(5 !== 5)
console.log(5 !== '5')
/* 字符串比较,比较的是字母对应的ASCII码
字母顺序越靠后,ASCII码的值越大 */
// NaN不等于任何值,包括它本身
console.log(NaN === NaN)
// undefined 被当作false执行
console.log(undefined && 20)
/* 这句话执行到undefined时,已经判断为false了
所以接下来直接短路,不需要执行了,输出结果就是undefined本身 */
// null 也被当作false执行,直接返回null
console.log(null && 20)
// 0 也被当作false执行,直接返回0
console.log(0 && 20)
/* 总结:有五个值是当false来看的
1. false本身
2. 0(除0之外的所有数字都是true)
3. undefined
4. null
5. 空字符串(除此之外所有字符串均为真) */
// 另外我们注意逻辑或 ||
/* 如果左边为真,立即短路,输出左边的数
如果左边为假,输出右边的数 */
let arr = [1,2,3,4,5,6]
console.log(arr)
/* arr.pop():删除数组最后一个元素
并返回该元素值 */
// console.log(arr.pop())
/* 那么我们不想删除最后一个呢?
还可以删除数组的第一个元素 */
// console.log(arr.shift())
// 删除指定元素
/* arr.splice(起始位置,需要删除的元素的个数),
并返回删除的元素值 */
console.log(arr.splice(0,1))
// 表示从下标0开始删,删除1个元素
// push():向数组里新增元素
let arr = [1,2,3,4,5]
// 向arr数组的末尾,增加一个元素
// 一定记住,不是放在中间,是加在末尾
arr.push('pink')
// 返回值是新的数组的长度
console.log(arr)
/* 那么怎么把新的元素放到数组的开头呢?
unshift代替push即可 */
arr.unshift('first-one')
console.log(arr)