飞跃高山与大洋的鱼飞跃高山与大洋的鱼
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
  • JAVASCRIPT

    • JavaScript
    • 语句和表达式
    • 数组空位
    • 无法访问 undefined、null 的属性
    • currying
    • 装饰器 Decorator
    • ES6 的简单使用
    • Error 类型
    • 事件队列
    • 隐式转换
    • 调用表达式
    • 函数调用
    • 运算符优先级
      • 一次错误
    • 原型链
    • 正则 exec
    • 作用域与闭包
    • 一步步启用 babel7
    • 什么是 this
    • typeof
    • 全局属性 undefined
    • 自增/减

运算符优先级

运算符的优先级决定了表达式中运算执行的先后顺序,优先级高的运算符最先被执行。

虽然这句话是这么的直白,但总是会遗忘。

一次错误

来源于一个 15年(五年前)的提问,没想到我第一反应还是错了。

var a = {n: 1};
var b = a; 
a.x = a = {n: 2};
alert(a.x); // --> undefined
alert(b.x); // --> {n:2}

在这里我忽略了 . 的执行优先级是高于 = 操作的,也就是一开始 a.x 就指向了 {n: 1} 的 heap 空间,最后的结果也显而易见了。

编辑文档!
上次更新:
贡献者: shanyuhai123
Prev
函数调用
Next
原型链