发表于: 2020-04-01 23:56:05

1 1639


今天完成的事情:今天复习了一下以前的内容巩固了一下记忆
明天计划的事情:继续学习一下AngularJS的一些不明白的地方
遇到的问题:概念还是难以理解还需要加大投入和练习
收获:今天复习了一些以前的知识学了一些小技巧

立即执行,一般做业务的时候都会有一个入口函数,比如一下这种格式


  1. function init(){
  2. //...
  3. }
  4. init()

但是可以这么写的

  1. (function init(){
  2. //...
  3. })()

立即执行的好处:
作用域隔离,因为init这个函数名是没有必要在全局作用域中展示的

常量解耦

没学会之前是这么写的

  1. function(){
  2. console.log(12345678901)
  3. }

但是学会之后,是这样的

  1. const TEL = 12345678901
  2. function(){
  3. console.log(TEL)
  4. }

好处如下:

1,当多处引用这个常量的时候,当你修改的时候,只要修改一处代码即可

2,这样写出来的代码更具语义话,举个例子,有些请求回调中ERROR常量一般为1,摆在那别人很难看懂

递归的解耦

没学会之前的写法

  1. function a(){
  2. //...
  3. a();
  4. }

学会之后,我的递归一般是这么写的

  1. function a(){
  2. //...
  3. argument.callee();
  4. }

解耦的好处:
修改函数名即可,不影响里面的代码
在严格模式下不能使用

整数的转换之加法篇

以前看到过parseInt和parseFloat这两个方法来转换成number类型的整数型和浮点型,其实,一开始我也是用这么笨的方法的,为什么说笨呢,举个例子

  1. let str = '123'
  2. console.log(typeof parseInt(str));    //number复制代码

接下来是加号操作符

  1. let str = '123'
  2. console.log(typeof +str);    //number复制代码

好处就不多说了吧,你打字打得累死,不如加号来的快,而且加号实现方式还优雅

短路操作

没学会这个方法之前我的代码是这样的:

  1. if(!foo){
  2. foo = bar
  3. }

但是我学会短路操作之后的是这样的:

foo = foo || bar

好处:

  1. 代码量减少
  2. 书写优雅

缺点:
代码可读性降低

短路原理:
在js中&&和||这两个操作符有一个特性,比如&&前后有两个表达式,前者为false,后者不会执行,||会反过来


条件表达式

条件表达式或许在每门语言中都会用到,没学会之前你会这么写

  1. if(a === true){
  2. b = c;
  3. }else{
  4. b = d;
  5. }

学会之后这么写

let b = a ? c : d

好处:
1.减少代码量
2.代码优雅

缺点:
代码可读性降低

向下取整

向下取整有很多种方式,做常用的,是调用Math的方法,如下图的例子

  1. let num = 1.23
  2. let num1 = Math.floor(num);
  3. console.log(num1); //1复制代码

但是下面有一种更加优雅的方式

  1. let num = 1.23
  2. let num1 = num | 0;
  3. console.log(num1)  // 1复制代码

这种方式更加简洁,这种方式的原理是来源于js的位运算,这边的 | 不是逻辑或,是按或运算

注意点:

1.Math.floor(NaN)返回的是NaN,但是或零返回的是0;

2.Math.floor(Infinity)返回的是Infinity,但是或零返回的是0;

明天还是要多看一下angular的内容,概念还是不太清楚一直没什么进度,明天继续


返回列表 返回列表
评论

    分享到