JS成长笔记

1. 运算符 || 和 && 

 (1)特性1

// 真假判断
const a = false;
const b = true;
if (a || b) {
    console.log("a和b中有一个为真"); // 打印
}
if (a && b) {
    console.log("a和都为真"); // 不打印
}

/** 
注:
1. “||”和“&&”比“|”和“&”效率更高
2. “||”为“双或”,有一个为真时返回真,左边为真时直接返回真,不对右边进行判断
3. “&&”为“双与”,左右都为真时返回真,左边为假时直接返回假,不对右边进行判断
*/

(2)特性2 

// 运算符 || 有真值时返回第一个真值,否则返回后一个值
const a = 1 || 0; // 1
const b = 0 || 1; // 1
const c = null || undefined; // undefined
const d = undefined || null; // null

// 需要布尔值时可以做双重否定
const aa = !!a; // true
const cc = !!c; // false

(3)应用

// 1. 赋默认值
function fun(param) {
    param = param || 1; // param为假时会param会被赋值为1
}

// 2. 真执行
const param = {age: 22};
param.name && console.log("name = " + param.name);  // 不打印
param.age && console.log("age = " + param.age);     // age = 22

2.bind、call、apply

const a = {name: 'a'};
const b = {name: 'b'};
function fun() {
    console.log(`name = ${this.name}`);
};
// bind 调用后不会立即执行,其返回一个绑定了新this的函数
const funA = fun.bind(a);
const funB = fun.bind(b);
funA(); // name = a
funB(); // name = b
// apply 为函数指定新this并立即调用,接收两个参数,1.新this对象 2.数组参数
// call 与apply相同,第一个参数也相同,其他参数可以传入多个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值