JavaScript第五天| 青训营笔记

65 阅读2分钟

这是我参与[第五届青训营]伴学笔记创作活动的第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)