JavaScript面试题

1 语法

1.1 async await 中return

async hld () {
  let list = await this.getList()
  console.log('list: ', list)
}
async getList() {
  let list = await db.getList()
  return list
}

1.2 值传递与优先级

var a = {n: 1}
var b = a
a.x = a = {n: 2}

console.log(a.n, b.n)  // 2 1
console.log(a.x, b.x)  // undefined { n: 2 }

2 代码

2.1 三元运算符,空对象为什么返回真值 ?

2.2 比较版本号

function compareVersion(v1, v2) {
  v1 = v1.split('.')
  v2 = v2.split('.')
  var len = Math.max(v1.length, v2.length)

  while (v1.length < len) {
    v1.push('0')
  }
  while (v2.length < len) {
    v2.push('0')
  }

  for (var i = 0; i < len; i++) {
    var num1 = parseInt(v1[i])
    var num2 = parseInt(v2[i])

    if (num1 > num2) {
      return 1
    } else if (num1 < num2) {
      return -1
    }
  }

  return 0
}

compareVersion('1.11.0', '1.9.9')
// 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值