简单实用且高逼格代码

目录

1.不使用新变量的情况下交换两个变量的值
  • a.异或运算
var a = 10,b = 99;
a^=b,b^=a,a^=b;
console.log(a);    // 99
console.log(b);    // 10
  • b.数组解构(Es6)
let a = 10,b = 99;
[a,b] = [b,a];
console.log(a);     // 99
console.log(b);     // 10
2.一个数字与自身的取反值相加等于 -1
console.log(~  -3)    // 2
3.最快的取整方式
console.log(~~2.9)       // 2
4.数组去重(Es6)
new Set([arr])     
5.使用 console.table() 来进行调试
const a = 5, b = 6, c = 7
console.log({ a, b, c});
console.table({a, b, c, m: {name: ‘csdn’, age: 30}});
6.寻找数组中的最大值
const max = (arr) => Math.max(…arr);
max([123, 1234, 321])  // 1234
7.计算数组的总和
const sum = (arr) => arr.reduce((a, b) => (a + b), 0)
sum([1, 2, 3, 4])   //10
8.数组拼接
const arr1 = [1, 2];
const arr2 = [3, 4];
const arr3 = [5, 6];

const arr = […arr1, …arr2, …arr3]
console.log(arr)

9.观察者模式

"事件"完全可以理解成"信号",如果存在一个"信号中心",某个任务执行完成,就向信号中心"发布"(publish)一个信号,其他任务可以向信号中心"订阅"
(subscribe)这个信号,从而知道什么时候自己可以开始执行.这就叫做"发布/订阅模式"(publish-subscribe pattern),又称"观察者模式"(obse
rver pattern)。

这个模式有多种实现,下面采用的是Ben Alman的Tiny Pub/Sub,这是jQuery的一个插件。首先,f2向”信号中心”jQuery订阅”done”信号。

jQuery.subscribe("done", f2);

然后,f1进行如下改写:

function f1(){
    setTimeout(function () {
        // f1的任务代码
        jQuery.publish("done");
    }, 1000);
}

jQuery.publish(“done”)的意思是,f1执行完成后,向”信号中心”jQuery发布”done”信号,从而引发f2的执行。
f2完成执行后,也可以取消订阅(unsubscribe)。

jQuery.unsubscribe("done", f2);

这种方法的性质与”事件监听”类似,但是明显优于后者。因为我们可以通过查看”消息中心”,了解存在多少信号、每个信号有多少订阅者,从而监控程序的运行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值