美文网首页前端开发那些事儿
Javascript常见问题(二)

Javascript常见问题(二)

作者: small_zeo | 来源:发表于2021-06-20 20:37 被阅读0次
    1. js舍入误差
    console.log(0.1 + 0.2) // 0.30000000000000004
    

    解决方案:
    方案1. parseFloat((0.1 + 0.2).toFiexed(2)) // 0.3
    方案2

    function add(num1, num2) {
      var m = Math.pow(10, 2)
      reture (num1 * m + num2 * m) / m
    }
    console.log(0.1 + 0.2) // 0.3
    
    2. 如何优化for循环
    for(var i = 0, len = arr.length; i < len; i++) { 
          // 避免每次循环都计算arr.length 
    }
    
    3. 常见内置对象

    可在火狐控制台中查看各种内置对象的使用方法,能够熟练操作使用

    1. 三种包装对象: String、Number、Boolean
    var str = 'hhh' 
    // var str = new String('hhh') 实际内部函数已经包装好各种方法属性提供直接使用
    
    image.png
    1. 其他常用的标准内置对象: Array、Date、Function、Object


      image.png
    4. 深入理解栈和队列
    1. 什么是栈和队列
      栈是一种后进先出的数据结构,也就是说最新添加的项最早被移除(Last-In-First-Out, 后进先出)
      队列数据结构的访问规则是FIFO(First-In-First-Out),队列在列表的末端天家乡,从列表的前端移除项

    2.push、pop、unshift、shift
    数组是集成了栈和队列的规则
    数组对栈的访问形式:
    开头出入栈

    var arr = [1, 2]
    arr.push(3)  // 入栈  [1, 2, 3]
    arr.pop() // 出栈 [1, 2]
    

    结尾出入栈

    var arr = [1, 2]
    arr.unshift(3)  // 入栈 [3, 1, 2]
    arr.shift() // 出栈 [1, 2]
    

    结尾出入栈不影响原有的数据位置索引,效率高
    开头出入栈影响原有的数据位置索引,效率低

    相关文章

      网友评论

        本文标题:Javascript常见问题(二)

        本文链接:https://www.haomeiwen.com/subject/evbsyltx.html