JavaScript基础知识解析1
1 变量类型与计算
-
值类型:值 key.value都存储在栈中,其中值类型有
undefined 未定义
string 字符串
number 数字
Boolean 布尔
symbol 符号 -
引用类型:引用类型栈中存储内存地址堆中存储实际的值,其中引用类型有
array 数组
object 对象
null 空
function 函数
二者区别
代码:
let a = 100;
let b = a;
a = 200;
console.log(b);
//100
let a = {
age: 20
};
let b = a;
a.age = 21;
console.log(a.age);
//21
- 常见的值类型
let e; // undefined;
let f = 'abc'; // string
let g = 100;//number
let h = true;//boolean
let i = Symbol("i");//Symbol
console.log(typeof e)
console.log(typeof f)
console.log(typeof g)
console.log(typeof h)
console.log(typeof i)
- 常见的引用类型
let obj = {
age: 100
};
let arr = ["a", "b", "c"];
let n = null; //特殊引用类型指向空指针function fn () {};
// 特殊引用类型,不能存储数据
2 类型转换
- 隐式转换
// 字符串拼接
var a = 100 + 10; // 110
var b = 100 + '10'; // 10010
var c = true + '10'; // true100
- == 运算符
100 == '100' ; // true
0 == ''; // true
0 == false; // true
false == ''; // true
null == undefined; // true
什么时候使用=== 什么时候使用==
// 除了null 之外都应用用 ===
var obj = { x:100 };
if(obj.a == null){}
// if(obj.a === null || obj.a=== undefined){}
3 if 语句与逻辑运算
-
truly变量 !!a ==== true; 变量
-
falsely 变量 !!a === false 变量
-
以下都是falsely变量
!!0 === false;
!!NaN === false;
!!’’ === false;
!!null === false;
!!undefined === false;
!!false ===false; -
if 语句判断的是truly变量or falsely变量
var a = 100;
if( a ){
//
}
var c = '';
if( c ){
//
}
4 逻辑判断
- || :若判断为true,则返回第一个值,为false返回第二个值。
- &&:若判断为 true,则返回第二个,为 false为返回第一个值。
console.log(10 && 0 ) // 0
console.log('' || 'abc') // abc
console.log(!window.abc) // true