1.深复制与浅复制
1、引用数据类型----堆内存
基础数据类型----栈内存
2、引用数据类型----内部存储值可以通过属性访问、方法调用改变内部存储值
基础数据类型----内部存储值不可值
3、引用数据类型----变量赋值,只能实现“浅复制”
若要实现深复制,方式一,新建一个同类型值
若要实现深复制,方式二,JSON.parse( JSON.stringify() )
基础数据类型----变量赋值,可以实现“深复制”
(3)作用
引用数据类型----存储多个同类型值,函数体内用到return 语句中一次性返回多个值
基础数据类型----单独存储一个值
2.一元运算
1.一员加+ 一员 - 结果一定是number ,不改变原值
2.感叹号! 结果一定是boolean,,不改变原值
3.前置递增++ 前置递减-- -----先做运算,再做取值,结果一定是number ,不改变原值
4.后置递增++ 后置递减-- -------先取值,再运算,结果一定是number ,不改变原值
3.两元运算
1.两元运算符:(以下运算都不会改变原值)
1. + ------结果要么是数字要么字符串
2.- ------结果一定是number
3.* ------结果一定是number
4./ ------结果一定是number
5.% ------结果一定是number
6.** ------结果一定是number
2.左员运算,必须是标识符表达式
1.+= ------结果要么是数字要么字符串
2.-= ------结果一定是number
3.*= ------结果一定是number
4./= ------结果一定是number
5.%= -------结果一定是number
3.&&逻辑与 ||逻辑或------------可以是任意类型
&& 扫描找假值,短路规则
|| 扫描找真值,短路规则
4.两元关系运算
1.> < >= <= { 遇到数字,优先按照数字大小比较,
两边都是字符串,按位比较,按照字符ASCII码 a-97 A-65
2.引用类型 ==为true,则 ===一定为true。
引用类型只能 通过JSON.stringify()判断语义==
5.多元运算
1.三元(目)操作符:a?b:c------------------------a为真,得到b ; a为假,得到c
2.多员(逗号)运算符 ,-------从左往右扫描值,取最后一项
6.常用运算符
1.delete-----------true false,判段依据是看结果是否还有删除的元素存在
2.typeof--------判断类型
3.new----------引用对象
4.in -----某属性在不在某引用类型中---true false
5.instanceOf-----能不能实例化(new)类型------true false