JavaScript 人算不如计算机算
————————————
须知基础知识须知
「变量概念」「运算符」
————————————
什么是变量
内存中开辟一个临时空间,装载临时数据,这个空间中的数据可以修改
变量命名规范
- 使用两种命名规范,驼峰命名法(命名中首单词全部小写,之后单词首字母大写)、帕斯卡命名法(命名中的所有单词首字母大写)
- 驼峰命名法适用于:变量、方法,帕斯卡命名法适用于:对象命名
- 变量名称不能是关键字
- 变量名称必须以字母,下划线开头,之后可以跟数字,尽量不要使用特殊符号
- 命名变量,务必要保证变量名称有意义
运算符
也叫作操作符,主要是用于进行赋值、计算、比较等功能的一类符号
分类
- 算术运算符
- 比较运算符
- 逻辑运算符
- 递增递减运算符
- 赋值运算符
- 三元(三目)运算符
算术运算符
算术运算符主要是使用符号进行实现数学运算的功能
运算符 | 说明 | 实例 |
---|---|---|
+ | 加 | 2+5=7 |
- | 减 | 2-5=-3 |
* | 乘 | 2*5=10 |
/ | 除 | 2/5=0.4 |
% | 取余(取模) | 2%5=2 |
浮点数的精度问题
浮点的精度一般最高精度到17位小数,进行计算时浮点型数据的精度远远不如整数类型的数据
注意:在判断两个数是否相等时,千万不要用浮点型进行比较
比较运算符
比较运算符主要是针对于两个数据进行比较时所使用的运算符,比较的结果返回一个布尔值true/false作为比较运算的结果
运算符 | 说明 | 比较 | 结果 |
---|---|---|---|
> | 大于号 | 1>2 | false |
< | 小于号 | 1<2 | true |
>= | 大于等于 | 2>=2 | true |
<= | 小于等于 | 1<=2 | true |
== | 比较相等 | 3==3 | true |
!= | 不等于 | 3!=3 | false |
=== | 全等判断,要求值和类型都一样 | 3===“3” | false |
!== | 值或者类型有一方不相同结果都为true | “2”!==“3” | true |
=、= = 、===
=:赋值符号,将右边的值赋给左边
==:比较判断符号,比较左右两边的数据是否相等(有一个隐式转换关系)
===:判断等号两边的数据是否相等并且数据类型是否也相同
逻辑运算符
用来进行对布尔值运算的运算符,其最终结果依然是布尔值
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
&& | 并且,and,与 | true&&true | true |
|| | 或者,or ,或 | true||false | true |
! | 非,not | !false | true |
短路运算(逻辑中断),多个表达式进行逻辑运算,前面的表达式很有可能影响到后面表达式的一个运行结果
var num1=10;
var num2=10;
console.log(num1++>10&&++num2>10);
// 结果是false。逻辑与运算,只要前面的运算符为false则后面的直接不需要判断,结果肯定为false
console.log(num1) //11
console.log(num2) //10
递增递减运算符
反复给数字进行添加1或者减去1,可以使用递增递减运算符来完成
运算符 | 说明 | 案例 | 结果 |
---|---|---|---|
++ | 递增加1 | a=0; a++; | 1 |
– | 递减减1 | a=0;a–; | -1 |
前置和后置
var num1=10;
var num2=10;
console.log(num1++); //后置自加,先使用值,再完成自加 10
console.log(++num2); //前置自加,先完成自加,再使用值 11
赋值运算符
用来将计算好的数据再次赋值给变量的运算符
运算符 | 说明 | 实例 |
---|---|---|
= | 直接赋值 | var a=10; |
+= ,-= | 加上或减去之后赋值 | var a=10; a+=5; a结果是15 |
*=,/=,%= | 乘、除、取余后赋值 | var a=5; a%=2; a结果是1 |
三元运算符
表达式?表达式1:表达式2;
执行思路:如果表达式的结果为true则返回表达式1的值,如果表达式的结果为false则返回表达式2的值
运算符的优先级
- 小括号 ()
- 一元运算符 ++,–,!
- 算术运算符 先*/%,后±
- 关系运算符 >,<,>=,<=
- 比较相等运算符 = = , != , = = = , !==
- 逻辑运算符 先 && 后||
- 赋值运算符 =
- 逗号运算符 ,