js基础-题目43

整理下之前做的有点疑惑的js基础题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦

js运算符的优先级

var a = 0
var b= 0
function A(a){
    
    
  A = function(b){
    
    
    console.log(a + b++)//flag
  }
  console.log(a++)
}
A(1)//1
A(2)//4

这题的主要问题是
falg处可以看来不太容易懂?
falg处:由于 ++ 递增运算符的优先级比 + 加法运算符大,所以先执行 b++ ,这是是后置地址,使用 a+b++ 相当于 2+2,所以 A(2) 的值为 4

这里扩展下

  • && 逻辑与 和 || 逻辑或 的优先级
    首先 && 逻辑与的优先级 是大于 || 逻辑或 的优先级的,下面我们举个例子证明一下
console.log(true || true && false)  //true
第一步 由于 && 的优先级高 先执行 true && false 得到 false
第二步 true || false 得到 true

猜你喜欢

转载自blog.csdn.net/hr_beginner/article/details/121233574