标签:result 数值 方式 执行 数通 情况 type 避免 code
JavaScript基础(二)
运算符(操作符)
算数运算符
+ - * / %
js中的小数计算精度问题
避免方式:将小数通过计算变为整数,再进行加减等计算操作
一元运算符
一元指的是参与运算的操作数只有一个
正+负-号, typeof
自增自减运算
++ 让变量的值自增1(自身的值+1)
-- 让变量的值自减1(自身的值-1)
比较运算符
> < >= <=
== 只比较值,不比较类型,会发生隐式转换
=== 既比较值又比较类型,比较更为严谨 (推荐使用的方式)
null == undefined 返回true
NaN和任意数据正向比较均为 false
isNaN(数据) 非数值返回true, 数值返回false
逻辑运算符(难点)
逻辑与(逻辑且) &&
逻辑或 ||
逻辑非 !
基本使用方式:
所有的操作数均为布尔类型
逻辑与
格式: 操作数1 && 操作数2
规则:两个操作数均为true,结果为true,任意一个为false,结果为false
逻辑或
格式: 操作数1 || 操作数2
规则:两个操作数均为false,结果为false,任意一个为true,结果为true
逻辑非
格式: !操作数1
规则:取反,操作数为true,结果为false,操作数为false,结果为true
其他使用方式:
任意操作数为非布尔类型(逻辑与和逻辑或的规则)
1 从左往右查看
2 如果操作数1位非布尔类型,会隐式转换
3 当前操作数1如果能决定式子的结果,返回操作数1的原值
返回的一定是操作数的原值,转换的目的只是为了判断而已。
4 如果操作数1决定不了结果,返回操作数2的原值
逻辑非:
规则:隐式转换后取反,返回的是布尔值
三元运算符
格式: 条件操作数 ? 操作数1 : 操作数2;
规则:
条件最终需要一个布尔类型值,根据布尔的结果,如果为true,执行操作数1,如果为false,执行操作数2
// 1 根据条件的结果执行某个操作:
// 11 > 22 ? alert(‘第一个数大‘) : alert(‘第二个数大‘);
// false ? alert(‘第一个数大‘) : alert(‘第二个数大‘);
// ‘‘ ? alert(‘第一个数大‘) : alert(‘第二个数大‘);
// 2 根据条件,选择某个操作数作为结果返回
var result = 11 > 22 ? 11 : 22;
console.log(result); // 22
赋值运算符
= 普通的赋值运算
+= -= *= /= %=
运算符的优先级
() 括号:用来提高运算的优先级
一元运算符:正+负-号,typeof ++ -- !
算数运算符:先*/% 后+-
比较运算符: > < >= <= == === != !==
逻辑运算符:先&& 后||
三元运算符
赋值运算符
程序的流程控制
顺序结构:程序的默认结构,特点是从上往下一行一行执行
分支结构:根据不同的情况执行不同的操作
循环结构:可以让代码重复执行,简化操作
标签:result 数值 方式 执行 数通 情况 type 避免 code
原文地址:https://www.cnblogs.com/itxcr/p/11600128.html