首页 > 编程语言 > 详细

javascript学习笔记——表达式和运算符

时间:2017-01-03 16:44:28      阅读:147      评论:0      收藏:0      [点我收藏+]

表达式类别:

原始表达式

常量、变量和关键字,是表达式的最小单位。

对象和数组的初始化表达式:

[1+2,3+2]数组初始化表达式中还会有子表达式;{x:1,y:1}对象初始化表达式。

函数定义表达式

var a = function(){}

属性访问表达式

expression[expression]      expression.identifier两种形式。

这种方式首先会计算[和.之前的expression,如果计算为null和undifined那么就会抛出类型错误异常。

虽然identifier方法较为简单,但是只能使用在合格标识符中,并且要知道具体的属性名称。括号方法必须使用在保留字符或者含有标点符号或者数字中。

调用表达式

a(),里面可以传入参数

对象创建表达式

new a(),假如不传参数也可以不写括号。

运算符:

操作数个数、操作数类型、结果类型、运算符优先级、运算符结合性、运算顺序。

算术表达式:

“+”运算符

在+运算符中,假如其中一个操作数有字符串,则另外一个操作数也会转换成字符串;假如一个操作数是对象,则会根据对象转换成原始值的方式进行转换(日期类型通过toString进行转换,其他通过valueOf进行转换,大部分对象没有valueOf方法,所以会通过toString方法进行转换),假如转换之类的类型是字符串,则会进行字符串相加方法;否则进行数组相加或者NaN。

位运算符

&  |   ~  ^  <<  >>  >>>

一元运算符

++a    a++  --a  a--

符号在变量前面则先进行操作符操作再赋值,符号在变量后面先赋值再进行操作符操作。

关系表达式:

等号和不等运算符

==    !=    ===    !==

==和!=比较的时候会进行一些类型的转换,假如比较的常量是不同类型的,那会先进行类型转换,假如一方是字符串另一方是数字,则会把字符串转换成数字进行比较;假如一方是布尔值一方是数字,则会把布尔值转换成数字进行比较,对象也是一样。最终都转换成数字进行比较,所以这是不严格的等号运算符。

===和!==是严格运算符,它不会进行类型的转换,不同类型那就不相等;两个引用比较要指向同一个对象才想等;两个null或者undifined进行比较不相等;NaN和任何数比较都不相等,和自身比较也不相等;两个字符串比较,16位数完全相等才相等,假如他们长度或者内容不同,则不相等。

javascript学习笔记——表达式和运算符

原文:http://www.cnblogs.com/claireyu1219/p/6245286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!