JavaScript基本概念(二)
2014-04-26 16:33
162 查看
JavaScript 基本概念(二) 操作符和语句
目录操作符
一元操作符
位操作符
布尔操作符
乘性操作符
其他操作符
语句部分
说起操作符,回忆下上一篇文章末尾说的话。
操作符
一元操作符
++ 、--(前置和后置)注意:
和其他操作符混合使用时候的优先级问题;
前置后置操作符的区别;
这4个操作符对任何值都适用包括对象和字符串、布尔值;(能转换为数字值的转换,对象则先调用valueOf()方法,看能不能转换为数字,不能的话再调用toString(),然后再转)
+、- (正负操作符)
转换规则和上面两个操作符类似。
位操作符
~按位非: 结果就是返回数值的反码;&按位与: 结果是将两个数值的每一位与;
|按位或: 每一位都进行或操作;
^按位异或:每一位都进行按位异或操作;
<< 左移:将数值的所有位向左移动指定的位数,右侧补0填充空位;
>> 有符号右移:将数值的所有位向右移动,但保留符号位。用符号为填充空位;
>>> 无符号右移: 将数值的所有位无符号向右移动,用0填充空位。
布尔操作符
!逻辑非 适用于任何值(肯定有一套转换规则),都返回一个布尔值。 两个 !!操作符 不就是Boolean()转型函数的作用嘛??&& 逻辑与 属于短路操作,适用于任意类型的操作数,而不仅仅是布尔值。
在有一个操作数不是布尔值的情况下,逻辑与操作不一定返回布尔值。规则:(加深印象)
如果第一个操作数是对象,则返回第二个操作数
如果第二个操作数是对象,则只有在第一个操作数的求值结果为true时,才返回该对象。
如果两个操作数都是对象,则返回第二个对象;
如果有一个操作数为null、NaN、undefined则返回它们。
||逻辑或 也属于短路操作,在有一个操作数不是布尔值的情况下,逻辑与操作不一定返回布尔值。规则(用来加深印象)
如果第一个操作数是对象,则返回第一个操作数
如果第一个操作数的求值结果为false,则返回第二个操作数。
如果两个操作数都是对象,则返回第一个对象;
如果有一个操作数为null、NaN、undefined则返回它们。
乘性操作符
乘法、除法和求模,作用和类C的语言类似,只不过操作数为非数值的情况下会执行自动的类型转换。 Number() 转型函数详情参见JS高级程序设计(3)P47
乘法
乘积如果超过了表示范围,则返回Infinity或-Infinity
如果有一个操作数为NaN,则返回NaN
如果Infinity与0相乘,则返回NaN,与非零数值相乘,返回+ -Infinity,取决于非零数值的符号。
其它操作符还有:
加性操作符:加法,减法。注意问题类似:操作数类型转换。关系操作符: > 、<、<=、>=。注意问题:字符串则比较字符编码,布尔值则先转化为数值。任何与NaN的比较都是false。
相等操作符:==(!=)先转换再比较、=== (!==) 仅比较不转换。
条件操作符:var a =boolean_exp ? true_value : false_value;
赋值操作符: = 注意类型转换。
语句部分
由于该部分和Java等其他语言很类似,不做过多的描述,仅仅记录JavaScript有哪些常用的语句。if 语句
基本语法if (condition) statement1 else statement2
do-while 语句
基本语法do {
statement
} while (expression) ;
while 语句
基本语法while (expression) {
statement
}
for 语句
基本语法for (initialization; expression; post-loop-expression)
statement
for-in 语句
基本语法 (属性可没有顺序哟)for (property in expression)
statement
label语句
基本语法label : statement
基本用途:用于合理的跳出多重循环,比较有帮助
break 和 continue 语句
基本用途: 用于在循环中精确地控制代码的执行。with 语句
基本用途:将代码的作用域设置到一个特定的对象中。 (不建议使用,读代码的时候知道怎么回事儿即可)switch 语句
基本语法:switch (expression) {
case value : statement
break;
case value: statement
break;
default: statement
}
相关文章推荐
- JavaScript:学习笔记(2)——基本概念与数据类型
- V8 JavaScript Engine 入门指南 4.2 -- 基本概念(Templates)
- JavaScript的基本概念----基本语法与变量
- 深入JavaScript与.NET Framework中的日期时间(1):基本概念与概述
- javascript跳跃式前进(1) - 基本概念
- JavaScript高级程序设计之基本概念之关系操作符第3.5.6讲笔记
- javascript学前基本概念
- 深入JavaScript与.NET Framework中的日期时间(1):基本概念与概述
- JavaScript高级程序设计(第3章 基本概念)
- 《javascript高级程序设计》读书笔记(二)javascript基本概念
- 网上一篇关于JavaScript基本概念初级讲解论坛贴的学习记录
- Javascript基本概念(语句和函数)
- javascript跳跃式前进(1) - 基本概念
- JavaScript 基本概念之数据类型
- JavaScript高级程序设计之基本概念之相等操作符第3.5.7讲笔记
- JavaScript基本概念(一)
- JavaScript基本概念(三)
- JavaScript学习笔记1:JavaScript学前介绍与基本概念
- JavaScript高级程序设计--基本概念--笔记
- JavaScript内核之基本概念