变量
不声明直接赋值 不受函数作用域影响
ww = 50; //全局变量
console.log(ww)
var声明变量 变量提升 开栈内存 找变量 script开始 提前在script顶层声明变量 再找值 确认数据类型 将值赋值给变量
//console.log(abc)
var p = 10;
console.log(p)
变量命名:不能以数字或者除了$和_之外的特殊符号开头 且不能包含特殊符号 不能使用js保留字
小驼峰:backgroundColor 写变量名 对象 函数名字
大驼峰:BackgroundColor 用于类名和接口定义
隐式转换 + - * / < > !
质数 素数 约数 因数 阶乘 Π 平角
console.log(Math.pow(2,4)) //2的4次方
console.log(2**4);//幂次方
console.log(Math.abs(-12));//绝对值
运算符
console.log(1 + 1);
console.log(1 - 1);
console.log(1 * 1);
console.log(1 / 1);
取余 %
console.log(4 % 2);
浮点数
console.log(0.1+0.2) 0.300000000000000004; //精度缺失
表达式 返回值
表达式:数字 运算符 变量等组成的式子
结果为返回值
递增和递减运算符
反复给数字变量添加或减去,使用递增和递减方式
分为前置递增递减、后置递增递减 必须和变量配合使用
++num 前置递增 num =num + 1 先自加 后返回
var m =10
console.log(++p+ 10) 21
num++ 后置递增 先返回原值 后自加
var age = 10 ;
console.log(age++ +10); 20
console.log(age); 11
var a = 10;
++a; //++a 11 a=11
var b = ++a + 2; // a=12 ++a = 12
console.log(b); // 14
var c = 10;
c++;//c++10 c =11
var d = c++ + 2; // c++=11 c自加1 c=12
console.log(d);// 13
var e = 10;
var f = e++ + ++e;// 1.e++ = 10 e = 11 2.e=12 ++e=12
console,log(f);// 22
比较运算符
< 小于 true
> 大于 false
>= 大于等于 true
<= 小于等于 false
!= 不等号 true
== 判等号(转型) false
=== !== 全等 不全等 要求值和数据类型都一致 flase
console.log(3 == 5); //flase
console.log(18 == 18); //true
console.log(18 == '18'); //true
== 默认转换类型 将字符串类型转换为数字型
console.log(18 === 18);
console.log(18 === '18'); // false
要求 两侧的值 还有 数据类型完全一致才可以
逻辑运算符
用来进行布尔值运算的运算符 其返回值也是布尔值 经常用于多个条件判断
&& 逻辑与 两个条件都要满足 一个为假都为假
|| 逻辑或 满足一个 两个为假 才为假
! 逻辑非 取反
123 && 456
短路运算 如果有多个表达式时,左边表达式值可以确定结果时,就不再继续运算右边的表达式
逻辑与:
表达式1 && 表达式2
如果第一个表达式的值为真 返回表达式2
如果第一个表达式的值为假 返回表达式1
如果有空的或者否定的为假 其余是真的 0 '' null undefined NaN
逻辑或:
如果表达式1结果为真 则返回表达式1
如果表达式1结果为假 则返回表达式2
短路操作
var num = 0;
console.log(123 || num++); //确定结果,不再运算
console.log(num); // num = 0
赋值运算符
= 直接赋值
+= -= 加、减一个数 再赋值
*= /= %= 乘 除 取模 再赋值
var age = 10;
age += 5 age = age + 5
age -= 5 age = age - 5
age *= 10 age = age * 10
运算符优先级
1、小括号 ()
2、一元运算符 ++ -- !
3、算数运算符 先乘 除 取模 后 加减
4、关系运算符 > >= < <=
5、相等运算符 == != === !==
6、逻辑运算符 先&& 后||
7、赋值运算符 =
8、逗号运算符 ,