博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Source Code - JavaScript - 学习优雅的编码
阅读量:7193 次
发布时间:2019-06-29

本文共 1401 字,大约阅读时间需要 4 分钟。

宁静致远。


说明

  • 知识在不断迭代,除了学习资料,那就是学习他人,来丰富自己。
  • 以下全是别人的源码,会标明出处,非常感谢原作者,非常感谢开源。

优雅

  • mitt:,
  • axios:
  • 零散:

mitt

// source code  all = all || Object.create(null);
  • 短路运算符:详情
  • Object.create(null):生成的对象是一个原型为空的对象。节约内存且避免冲突,因为没有原型,且普通对象原型上的属性和方法也相应没有了。
// source code  (all[type] || (all[type] = [])).push(handler);
// my code - bad  if (all[type]) {    all[type].push(handler)  } else {    all[type] = [handler]  }
  • 简洁的队列赋值:短路逻辑判断 + 初始化 + 更新数组,简直不要太优雅。
// source code  all[type].splice(all[type].indexOf(handler) >>> 0, 1);
  • 按位操作符:1 >>> 0 = 1, -1 >>> 0 = 4294967295, 详情
  • 补充:按位操作符'~',可以结合.indexOf()使用,因为对任一数值 x 进行按位非操作的结果为 -(x + 1),即:~-1 = 0
// source code  (all[type] || []).slice().map((handler) => { handler(evt); });  (all['*'] || []).slice().map((handler) => { handler(type, evt); });
  • Array.slice():slice不传参数的时候,相当于浅复制一个数组,详情

axios

// source code  别着急

零散

// source code  !!(0)             // false  !!(null)          // false  !!('')            // false  !!(undefined)     // false  !!(NaN)           // false    !!(2)             // true
  • !!: 强制转换成 boolean 类型,相当于 !(!val)。如果 val = 0/null/""/undefined/NaN 时,!!(val) = false,如果 val 是其他值,!!(val) = true
  • !: 取反运算,返回的也是一个 boolean 类型。如果 val = 0/null/""/undefined/NaN 时,!(val) = false,如果 val 是其他值,!(val) = true
// source code  +'123456'        // 123456, Number  +new Date()      // 1527684413484, 相当于 new Date().getTime()
  • +: +val 将字符串数字转为数字。如果 val 是非字符串数字,则 +val = NaN

好记性不如烂笔头。

转载地址:http://fzxkm.baihongyu.com/

你可能感兴趣的文章
第八天,培训结束了
查看>>
分享WinCE钩子封装库
查看>>
批量操作文本文件进行dos/unix格式转换
查看>>
thinkphp 随机获取一条数据
查看>>
vue生命周期
查看>>
初步使用分支、循环判断数字大小
查看>>
Hbase之修改表结构
查看>>
通过浏览器学习前端的小技巧
查看>>
APP开发之AngularJS学习
查看>>
Sass:RGB颜色函数-Mix()函数
查看>>
phpMyAdmin 错误 缺少 mysqli 扩展。请检查 PHP 配置
查看>>
Win7网上邻居提示未授予用户在此计算机上的请求登录类型解决办法
查看>>
golang包快速生成base64验证码
查看>>
Visual studio 下C++工程相关经验
查看>>
七、SSR(服务端渲染)
查看>>
django--app(六)
查看>>
20165208 预备作业3Linux安装及学习
查看>>
洛谷P3379 【模板】最近公共祖先(LCA)
查看>>
获取一个表单字段中多条数据并转化为json格式
查看>>
c#中的变量,属性,字段
查看>>