运算符优先级

JavaScript中的运算符优先级是一套规则。该规则在计算表达式时控制运算符执行的顺序。具有较高优先级的运算符先于较低优先级的运算符执行。例如,乘法的执行先于加法。

下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。

运算符 描述
. [] () 字段访问、数组下标、函数调用以及表达式分组
++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
* / % 乘法、除法、取模
+ - + 加法、减法、字符串连接
<< >> >>> 移位
< <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof
== != === !== 等于、不等于、严格相等、非严格相等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= 赋值、运算赋值
, 多重求值

圆括号可用来改变运算符优先级所决定的求值顺序。这意味着圆括号中的表达式应在其用于表达式的其余部分之前全部被求值。

z = 78 * (96 + 3 + 45)

在该表达式中有五个运算符: =, *, (), +, 以及另一个 +。根据运算符优先级的规则,它们将按下面的顺序求值: (), +, +, *, =。

首先对圆括号内的表达式求值。圆括号中有两个加法运算符。因为两个加法运算符具有相同的优先级,从左到右求值。先将 96 和 3 相加,然后将其和与 45 相加,得到的结果为 144。 
然后是乘法运算。78 乘以 144,得到结果为 11232。 
A最后是赋值运算。将 11232 赋给 z。

var cloneObj = function(obj){ var str, newobj = obj.constructor === Array ? [] : {}; if(typeof obj !== 'object'){ return; } else if(window.JSON){ str = JSON.stringify(obj), //系列化对象 newobj = JSON.parse(str); //还原 } else { for(var i in obj){ newobj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i]; } } return newobj;};

作用域链  只该函数在作用域包含的variable object

基本包装类型,使基本类型能够访问该基本包装类型的属性和方法  var arr=[3,,3,33,];arr.length;arr.sort()

运算符优先级,对象深拷贝相关推荐

  1. 运算符优先级记忆口诀及列表(转)

    C语言运算符优先级和口诀 一共有十五个优先级: 同一优先级的运算符,运算次序由结合方向所决定 1   ()  []  .  ->        (括号,成员排第一) 2   !  ~   -(负 ...

  2. C语言运算符优先级-----从没像现在这样深刻体会

    没做C/C++具体开发之前,从没像现在这样体会到运算符优先级的重要性,粘一个备忘,方便自己查. 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 ...

  3. new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)

    <C语言运算符优先级列表(超详细)>由会员分享,可在线阅读,更多相关<C语言运算符优先级列表(超详细)(7页珍藏版)>请在人人文库网上搜索. 1.本篇文章是对C语言中运算符的优 ...

  4. 万物之始正则表达式全解析三部曲(中篇)-正则表达式运算符优先级及匹配规则

    前言 各位小伙伴大家好,接下来几天时间,我会从多个角度对正则表达式进行系统阐述,让你了解正则表达式的前世今生. 该系列文章上篇 万物之始正则表达式全解析三部曲(上篇)-正则表达式基础知识及语法 以下是 ...

  5. 在学习Python基础中需要知道的知识点:运算符大全,收藏,以后方面查询(算术运算符、赋值运算符、比较运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级))

    一.算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被 ...

  6. Java运算符优先级(转)

    Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目   ( ) 圆括号 从左到右     [ ] 方括号 从左到右     2 + 正号 从右到左 单 ...

  7. 4、Python运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级(学些笔记)

    4.1Python算术运算符 以下假设变量:a = 10,b=20 示例: # -*- coding: UTF-8 -*-a = 25 b = 3 c = 0c = a + b print(" ...

  8. C语言运算符优先级列表

    本篇文章是对C语言中运算符的优先级进行了详细的分析介绍,需要的朋友参考下 每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖! ...

  9. python学习-知识点回顾(Python3的安装,编译器、一些关键知识点、数据类型、数据类型转换、运算符优先级)

    文章目录 说明 python特点 Python3下载 PyCharm 标识符 python保留字 行与缩进 基本数据类型 Python数据类型转换 Python运算符优先级 说明 首先说明:本篇博文知 ...

最新文章

  1. 一款零注解侵入的 API 文档生成工具,你用过吗?
  2. java 正则 捕获_Java通过正则表达式捕获组中的文本
  3. 禁止vim生成 un~文件
  4. android如何编译出带符号表的.so库
  5. python axis 0_Python之NumPy(axis=0/1/2...)的透彻理解
  6. jpa 分页 排序 过滤_使用JPA标准@ViewScoped通过分页,过滤和排序进行Primefaces DataTable延迟加载...
  7. hibernate Criteria(条件查询接口)
  8. 5g时代计算机网络过时,5g云电脑 取代主机(5g时代云电脑会普及吗)
  9. centos yum “The requested URL returned error: 404”错误
  10. 首个视觉-语言预训练综述来了!
  11. .NET Framework 4.8 的 Microsoft 更新目录更新
  12. LightOJ1171 Knights in Chessboard (II)(二分图最大点独立集)
  13. OpenCV morphologyEx、erode、dilate、getStructuringElement (形态学算子)
  14. django+xadmin在线教育平台(四)
  15. Mysql,phpmyadmin密码忘了怎么办
  16. xcode自动刷新resource下的文件
  17. vue 下载插件downloadjs
  18. 怎样裁剪照片大小尺寸?如何在线编辑图片?
  19. 带协议解析的串口调试助手
  20. python风格logo_Python十分钟制作属于你自己的个性logo

热门文章

  1. 学习AS400艰难的历程
  2. 各大门户调查:鄙视新浪,将博士伦的广告挂在热点新闻中间好几天了,把大众当傻瓜...
  3. opencv生成单位矩阵
  4. java visualvm 官方_Java VisualVM使用
  5. HMAC-SHA1算法shell方式
  6. WebRTC pacing模块中的RoundRobinPacketQueue分析
  7. S7-1500与G120变频器通过标准报文1进行Profinet通信的具体步骤
  8. Asterisk AMI 接口整理
  9. 最新php代码iP授权,网站授权加密源码授权源码PHP源码加密授权验证全新自带加密功能,域名+IP+时间...
  10. CSP开发基础--如何将USBkey中的证书注册到Windows系统中