发表于: 2020-04-01 23:56:05
1 1639
今天完成的事情:今天复习了一下以前的内容巩固了一下记忆
明天计划的事情:继续学习一下AngularJS的一些不明白的地方
遇到的问题:概念还是难以理解还需要加大投入和练习
收获:今天复习了一些以前的知识学了一些小技巧
立即执行,一般做业务的时候都会有一个入口函数,比如一下这种格式
- function init(){
- //...
- }
- init()
但是可以这么写的
- (function init(){
- //...
- })()
立即执行的好处:
作用域隔离,因为init这个函数名是没有必要在全局作用域中展示的
常量解耦
没学会之前是这么写的
- function(){
- console.log(12345678901)
- }
但是学会之后,是这样的
- const TEL = 12345678901
- function(){
- console.log(TEL)
- }
好处如下:
1,当多处引用这个常量的时候,当你修改的时候,只要修改一处代码即可
2,这样写出来的代码更具语义话,举个例子,有些请求回调中ERROR常量一般为1,摆在那别人很难看懂
递归的解耦
没学会之前的写法
- function a(){
- //...
- a();
- }
学会之后,我的递归一般是这么写的
- function a(){
- //...
- argument.callee();
- }
解耦的好处:
修改函数名即可,不影响里面的代码
在严格模式下不能使用
整数的转换之加法篇
以前看到过parseInt和parseFloat这两个方法来转换成number类型的整数型和浮点型,其实,一开始我也是用这么笨的方法的,为什么说笨呢,举个例子
- let str = '123'
- console.log(typeof parseInt(str)); //number复制代码
接下来是加号操作符
- let str = '123'
- console.log(typeof +str); //number复制代码
好处就不多说了吧,你打字打得累死,不如加号来的快,而且加号实现方式还优雅
短路操作
没学会这个方法之前我的代码是这样的:
- if(!foo){
- foo = bar
- }
但是我学会短路操作之后的是这样的:
foo = foo || bar
好处:
- 代码量减少
- 书写优雅
缺点:
代码可读性降低
短路原理:
在js中&&和||这两个操作符有一个特性,比如&&前后有两个表达式,前者为false,后者不会执行,||会反过来
条件表达式
条件表达式或许在每门语言中都会用到,没学会之前你会这么写
- if(a === true){
- b = c;
- }else{
- b = d;
- }
学会之后这么写
let b = a ? c : d
好处:
1.减少代码量
2.代码优雅
缺点:
代码可读性降低
向下取整
向下取整有很多种方式,做常用的,是调用Math的方法,如下图的例子
- let num = 1.23
- let num1 = Math.floor(num);
- console.log(num1); //1复制代码
但是下面有一种更加优雅的方式
- let num = 1.23
- let num1 = num | 0;
- console.log(num1) // 1复制代码
这种方式更加简洁,这种方式的原理是来源于js的位运算,这边的 | 不是逻辑或,是按或运算
注意点:
1.Math.floor(NaN)返回的是NaN,但是或零返回的是0;
2.Math.floor(Infinity)返回的是Infinity,但是或零返回的是0;
明天还是要多看一下angular的内容,概念还是不太清楚一直没什么进度,明天继续
评论