内置类型
JS 中分为七种内置类型,七种内置类型又分为两大类型:基本类型和对象(Object)。
基本类型有六种: null,undefined,boolean,number,string,symbol。
其中 JS 的数字类型是浮点类型的,没有整型。并且浮点类型基于 IEEE 754标准实现,在使用中会遇到某些 Bug。NaN 也属于 number 类型,并且 NaN 不等于自身。
对于基本类型来说,如果使用字面量的方式,那么这个变量只是个字面量,只有在必要的时候才会转换为对应的类型
字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。
字面量分为字符串字面量(string literal )、数组字面量(array literal)和对象字面量(object literal),另外还有函数字面量(function literal)。
//字面量含义
let a = 111 // 这只是字面量,不是 number 类型
var str ="111"; //str是变量名,'111'是字符串字面量
a.toString() // 使用时候才会转换为对象类型
对象(Object)是引用类型,在使用过程中会遇到浅拷贝和深拷贝的问题。
let a = { name: 'FE' }
let b = a
b.name = 'EF'
console.log(a.name) // EF
// 对象字面量
//对象字面量有两种访问方式:
var obj = {
a:'aaa',//a是属性,'aaa'是属性值
b:'bbb',
c:'ccc'
}
//方法一: obj.a// aaa,for in遍历对象时,此方法失效...
//方法二: obj['a']//aaa,必须要加引号
//点方法只适合属性是字符串的情况,如果属性是变量,只能用后者
//属性为变量时,只能用如下方法赋值:
var obj = {};
obj.a = 'value';
注意值传递和对象传递的区分!!!!