JAVASCRIPT记录

对象(Object)相关

基础数据类型

Number、Bigint、String、Boolean、Object、null、undefined、symbol
typeof 1  //"number"
typeof 10n // "bigint"
typeof '1'  //"string"
typeof true //"boolean"
typeof null //"object"
typeof undefined //"undefined"
typeof null //"object"
typeof Symbol('id') //"symbol"

逻辑运算符

逻辑运算符:||(或),&&(与),!(非)

优先度 : !> && > ||

逻辑或( || )

//逻辑|| 返回第一个为真的值
alert(''||'2') //2
//逻辑|| 判断条件全为false时,返回最后一个值
alert(null||undefined||'') //''
//用处:从多个值中找到为true的值
let a = ''
let b = ''
let c = 'test'
a || b || c || 'default' //test  default为默认值,当abc都为假时返回

//逻辑|| 短路 找到第一个为true的值,不再执行其后的代码
null||'2'||alert('3') //2

逻辑与( && )

//逻辑&& 返回第一个为假的值,都为真则返回最后一个值
2 && 3 //3
3 && '' && 6 //''
//作用: 找到为假的值
let a = 'a'
let b = 'b'
let c = ''
a && b && c //''

逻辑非( ! )

//特殊用法:返回变量的boolean类型的值
!!'test' //true

空值合并运算符

空值合并运算符“??”,可以看成是三木运算符的简写,不过??只判断null和undefined(未定义的变量为假)。

用法:a ?? b返回第一个不为null且不为undefined的变量。用法与||有点相同,但是 || 返回的是第一个 值(例如数字0为假,但是??中会返回数字0)。??没有括号的情况下不能与||和&&混用。

//返回第一个不为null且不为undefined的值
let x = a ?? b
//可以看作是
let x = ( a !== null && a !== undefined ) ? a : b;
//与||的区别 : ??返回第一个被定义的值,||返回第一个为真的值或者最后一个为假的值
''||0||'1' //'1'
''??0??'1' //''

switch关键字特殊点

需要注意的是,switch的比较是严格比较(===),必须类型与值相等才会执行。
switch (x) {
	case a :
		//do something
		break;
	case b:
	case c:
		//dosomething
		break;
	default:
		//do something
}

函数声明和函数表达式

函数声明:函数声明可以在被声明前调用。脚本准备执行前,会先找全局函数声明的函数,由内部算法决定。
test();//正常执行
function test(){
	//dosomething
}

函数表达式:只有执行到时才会被声明。

test();//报错
//函数表达式
let test = function(){
	//dosomething
}
test()//正常执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值