变量:容器 JS是弱类型语言,因此能够听任意类型的值浏览器
声明变量:在ES6之前,一直使用Var声明变量,ES6新增 let const函数
列:let a; 变量声明spa
let a=5; 变量初始化||变量声明并赋值code
Var特征:对象
图片.pngblog
Let特征:图片
Const特征:作用域
JS中每个值必须属于某一种数据字符串
ES6之前:undefined unmber string boolean nullget
新增:symbol
object
undefined:未定义 声明的变量未赋值,函数没有返回值 都是undfined
关于undefined中的BUG
会返回undefined的状况
ECMA认为undefined是由null衍生而来的
若是不进行精确的比较则相等 console .log(undefined==null) 打印为true
关于null的BUG:console .log ( typeof null ) 打印为object
undefined与null的区别:undefined有容器无内容 而null无容器无内容
boolean(判断)有两个值:true(真) false(假)||!!加要检测的值
会返回false的状况:
NaN:
不与任何数相等包括本身
NaN的类型是unmber
NaN涉及任何计算 值都是NaN
is NaN( )检测一个值是不是一个非数
' ' “ ” `` 这三种字符串不能互相嵌套
两种打印:
let name="N",age="N" 1. console .log("我叫"+name+"今年"+age); //我叫N今年N 2. console .log(`我叫${name}今年${age}`); //我叫N今年N
例:let a=1 b=2 a=a+b简写a+=b
++ --
例:n=n+1简写n++ 例题1: let i=0 //0 let j=i++ //0+1 console .log( j i)打印为0 1 例题2: let i=0 //0+1 let j=++i // i console .log( j i)打印为1 1
自增自减规则:i++ i-- 先用值后增||后减 ++i --i 先自增||自减再用值 当没有表达式 直接使用: 例题1: let i=0 i++ ; console .log( i)打印为1
逻辑运算符
与&& 或|| 非!
&&一假全假 ||一真全真
&&:
表达式1&&表达式2 step1:先判断表达式1的值是否是false 若是是则返回表达式1的值 step2:若表达式1的值是true 则判断表达式2的值,是否是true 是true 则判断表达式3 以此类推 是false 则返回表达式2的值 以此类推
+ - * / %取模(余数)
< == === <= >=
===:全等 值相等 数据类型也相等
例: console .log(5=="5")打印为true console .log(5==="5")打印为false ASCLL码 65A 97a
简单的 if else
表达式1? 表达式2:表达式3;
解释:表达式1为true时执行表达式2 表达式2为false时执行表达式3
例:let a=5 b=6 a>b? console .log("a>b") : console .log("a<b") 执行表达式3
查看变量的数据类型
若有异议请联系我!