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

猜你喜欢

转载自blog.csdn.net/qq_40994735/article/details/108267077
今日推荐