第一部分 变量类型
对应知识点
1、变量类型
(1)值类型 VS 引用类型
两者区别(特点):
—> 内存存储:值类型把每个值都存储在内存中;引用类型共用内存地址,变量通过指针指向共同的内存地址。
—> 变量类型: 值类型 是基本数据类型(number、boolean、string、null、undefined、symbol),引用类型 包含对象、数组、函数。
—> 赋值:值类型赋值后值修改不会相互影响,引用类型赋值后值修改会相互影响。
值类型
var a = 100;
var b = a;
a = 10;
console.log(b) // 100
引用类型
var a = {
age:20}
var b = a;
a.age = 30
console.log(b.age) // 30
(2)typeof 运算符详解
—> 区分值类型的 不能区分引用类型
—> 可以区分出函数
—> typeof null 也是引用类型
typeof undefined //undefined
typeof 'abc' // string
typeof 123 //number
typeof true // boolean
typeof {
} // object
typeof [] // object
typeof null // object
typeof console.log // function
2、变量计算 — 强制类型转化
(1)字符串拼接
// 字符串拼接
var a = 100 + 10 //110
var b = 100 + '10' //10010
(2) == 运算符
== 表示值相等,类型不可以不等; = = = 表示值相等,类型也必须相等。
false的情况: false 0 NAN ’ ’ null undefined -0
// 运算符
100 == '100' // true
0 == '' //true
null == undefined // true
(3)if 语句
// if 语句
var a = true
if (a) {
// a 是true 当条件满足 true 的时候,就会进入到 if 体中
}
var b = 100
if (b) {
// b = 100 也是 true 即条件为 true 的时候,就会进入到 if 体中
}
var c = ''
if (c) {
// '' 空字符串表示 false 即当条件为 false 的时候,就会进入到 if 体中
}
(4)逻辑运算
—> true && true true
—> false && false false
—> true && false false
—> true || true true
—> false || false false
—> true || false true
// 逻辑运算
console.log(10 && 0); // 0
console.log('' || 'abc') // 'abc'
console.log(!window.abc)