变量
变量:容器 JS是弱类型语言,所以可以放任意类型的值
声明变量:在ES6以前,一直使用Var声明变量,ES6新增 let const
列:let a; 变量声明
let a=5; 变量初始化||变量声明并赋值
Var特征:
- 支持重复声明 列:Var a=5; Var a=6;
- 遗漏声明 列:a=5;系统或者浏览器会补上一个Var
- 不受语句影响,就是个强制全局变量!
Let特征:
- 不允许在同一作用域中重复声明 列:let a=5; a=10;修改变量中的值
Const特征:
- 声明常量 属于变量的一种类型 不能修改 会报错
- ES6以前使大写表示常量 列:Var B=a
- const声明变量必须初始化
数据类型
JS中每一个值必须属于某一种数据
- 简单数据类型:原始数据类型||简单值
ES6以前:undefined unmber string boolean null
新增:symbol
- 复杂数据类型:合成数据类型||复杂值
object
undefined解释:
undefined:未定义 声明的变量未赋值,函数没有返回值 都是undfined
关于undefined中的BUG
- 声明变量未赋值: 例:let a; log(a) 打印为 undefined
- 变量未声明:例:log (a); 报错 xxx未定义
- log (trpeof a); 打印为 undefined
会返回undefined的情况
- 变量未声明未赋值
- 函数没有返回值
- 给变量赋值为undefined
- 访问对象不存在的属性值
- return 无明确性
null解释:
ECMA认为undefined是由null衍生而来的
如果不进行精确的比较则相等 console .log(undefined==null) 打印为true
关于null的BUG:console .log ( typeof null ) 打印为object
undefined与null的区别:undefined有容器无内容 而null无容器无内容
boolean的解释
boolean(判断)有两个值:true(真) false(假)||!!加要检测的值
会返回false的情况:
- " "空字符串 ' '字符串模板 ``
- 0
- false
- undefined
- null
- NaN( not a unmber非数)
unmber的解释:
- 100 0.2 -1
NaN:
不与任何数相等包括自己
NaN的类型是unmber
NaN涉及任何计算 值都是NaN
is NaN( )检测一个值是否是一个非数
- 传入数字:返回false
- 传入非数:返回true
string的解释:
' ' “ ” `` 这三种字符串不能互相嵌套
两种打印:
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
- typeof
查看变量的数据类型
- *
如有异议请联系我!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。