源码时代前端干货分享|javascript编程优化,超强入门必备技能!

     2022-03-20     478

关键词:

一、按强类型风格定义变量
大家要知道js是一种弱类型语言,定义变量的时候不要太随意,大多数初学者定义变量时,只是声明变量而没有赋值,这样就显得太随意了
声明变量的时候,一定要指明变量的类型,告诉解析器,你要声明变量的类型,不要让他去猜

//2. 定义变量
let odd, //奇数个数
even, //偶数个数
sum,//总和
avg//平均值

上面这种就是不友好的代码,应该改为

//2. 定义变量
let odd = 0, //奇数个数
even = 0, //偶数个数
sum = 0,//总和
avg = 0//平均值

这样指明类型,方便其他人阅读,知道该变量保存什么类型的值
注意:
1.也不要随意修改变量的类型,比如上面明明是保存一个数字,下面又保存一个对象,这就让人感觉到很困惑,不知道该保存什么值===这种做法不提倡
2.函数返回值也应该确定类型

function getPrice(count) {
if (count < 0) return "";
else return count * 100;
}

上面函数就没有确定类型,一会字符串,一会数字,都不知道结果该不该参与其他功能运算

function getPrice(count) {
if (count < 0) return -1;
else return count * 100;
}
小于0,返回-1,这种就把两个返回值的类型统一化

二、避免使用==
1.编码习惯不同,大多数人喜欢使用== 而不是===,因为==写起来比较简单点,少了一个=,但是在使用==在JSLint检查的时候是不通过的

if(a == b){}

在JSLint下会输出:Expected?‘===’?and?instead?saw?‘==’,所以最好使用===
2.使用==还有可能会出现一些不好的现象,对后期代码有一定影响

null == undefined //true
‘‘ == ‘0‘ //false
0 == ‘‘ //true
0 == ‘0‘ //true
‘‘ == 0 //true
new String("abc") == "abc"//true
new Boolean(true) == true //true
true == 1 //true

以上用===出现的结果都为false,这样才比较合理
三、合并表达式
如果用1句代码就可以实现5句代码的功能,那往往1句代码的执行效率会比较高,并且可读性可能会更好
1.用三元运算替换if-else

if(a>10){
return 1
}else{
return 0
}

改写:

return a>10 ? 1 : 0

2.使用连等( 从右向左运算 )

let sum = count = odd = even = 0;

3.自增 ( 利用自增也可以简化代码 )

console.log( ++a );

平常些代码都必须要注意这些,下一节继续讲解ES6编程规范
(本文由源码时代技术老师撰写,转载请注明出处)

源码时代前端干货分享|new关键字底层原理-执行过程

构造对象关键字:new众所周知,js是用new来产生对象的,那么今天我们就来说说js里new产生对象的构造原理。//人类构造函数functionPeople()People.prototype.index=1;//在原型上绑定一个index属性,值为1varp1=newPeople();//... 查看详情

源码时代前端干货分享|从零动手封装一个通用的vue按钮组件

我们在使用目前最主流的前端框架vue在开发过程中,组件是一个非常重要的组成部分,可以这么说,所有的vue应用,都是由一个一个的小组件拼装而成的。正是由于vue组件如此重要,所以vue的生态中,也非常多的UI组件库,其中... 查看详情

源码时代前端干货分享|new关键字底层原理-执行过程

构造对象关键字:new众所周知,js是用new来产生对象的,那么今天我们就来说说js里new产生对象的构造原理。//人类构造函数functionPeople()People.prototype.index=1;//在原型上绑定一个index属性,值为1varp1=newPeople();//... 查看详情

源码时代java干货分享|springsecurity快速上手秘籍(代码片段)

前言至今Java能够如此的火爆Spring做出了很大的贡献,它的出现让Java程序的编写更为简单灵活,而Spring如今也形成了自己的生态圈,今天咱们探讨的是Spring旗下的一个款认证工具:SpringSecurity,如今认证框架主流“sh... 查看详情

源码时代ui干货分享|axure基础教程

主界面介绍知识重点一、页面的切换热区:就是可做交互的区域。动态面板:多种状态,可以反复切换。第一步:鼠标选择热区,鼠标左键拖拽到画布中,调整到合适位置,合适大小第二步:在图... 查看详情

源码时代软测干货分享|探索语境驱动测试七大原则

探索式测试的奠基人和积极实践者cemKaner和JamesBach都支持语境驱动测试。语境驱动测试的7条基本原则对于正确理解并应用探索式测试具有重要意义,本文将予以简单讨论。 原则1:任何实践的价值都取决于其语境(Con... 查看详情

源码时代软测干货分享|带你了解cgi支持模块

该模块定义了许多由Python编写的CGI脚本使用的实用程序。 21.2.1。介绍HTTP服务器调用CGI脚本,通常用于处理通过HTML<FORM>或<ISINDEX>元素提交的用户输入。 通常,CGI脚本存在于服务器的特殊cgi-bin目录中。HTTP服务器... 查看详情

源码时代java干货分享|带你认识zookeeper分布式服务框架

本质它是一个分布式服务框架,是ApacheHadoop的一个子项目提供一种集中式信息存储服务,用于解决分布式应用中的一些数据管理问题简单来说zookeeper=文件系统+监听通知机制。特点数据存在内存中类似文件系统的树... 查看详情

源码时代java干货分享|带你了解原型模式_prototype

原型模式概述在java中创建一个对象通过new是非常繁琐的,需要创建检查权限,做一些数据准备等等,因此也会销毁系统性能,那么想要快快速简单的创建出对象,我们可以通过原型模式实现,以某个对象... 查看详情

源码时代软测干货分享|jmeter性能测试实战(上)(代码片段)

确认被测项目的性能指标1.1性能测试指标性能测试指标,是性能测试中重要的测试依据,相当于测试用例中的预期结果,由于性能测试属于非功能性测试,在规范的项目中有专门的非功能性需求,但是在互联网高速发展的今天,为了早一... 查看详情

源码时代软测干货分享|今天来说说测试转向敏捷路线

尽管跳上敏捷的潮流对企业来说很有诱惑力,但这并不总是那么容易,向敏捷的转变很可能伴随着的是测试方面的一系列挑战。为了使敏捷能够快速交付高质量的产品,测试必须比以往更早地开始介入。 今天,... 查看详情

源码时代java干货分享|手把手教你用maven构建docker镜像

一、原理分析由于我们开发pc上面没有docker,所以没办法直接打包镜像,所以要调用远程主机docker进行。并且远程主机docker默认不支持远程访问,所以需要开启远程。然后我们在项目中以dockermaven插件方式进行打包镜... 查看详情

源码时代java干货分享|手把手教你springboot配置ssl证书(代码片段)

图说明第一步首先去阿里云弄一个免费的SSL证书下载然后放到项目里面的resource路径下这里一定要注意是key-store和key-store-password我在配置时写出了key-password弄了很久没找到原因换成了nginx去配置,最近还是嫌弃服务启动太多改... 查看详情

分针网——每日分享:浅谈前端javascript编程风格

...规范,具体可参阅jscs.info,下面的内容主要参考了Airbnb的JavaScript风格规范。当然还有google的编程建议等编程风格本章探讨如何使用ES6的新语法,与传统的javascript语法结合在一起,写出合理的、易于阅读和维护的代码。 编程... 查看详情

web前端性能优化——编写高效的javascript

前言随着计算机的发展,Web富应用时代的到来,Web2.0早已不再是用div+css高质量还原设计的时代。自Gmail网页版邮件服务的问世开始,Web前端开发也开启了新的纪元。用户需求不断提高,各种新的技术层出不穷,前端工程师的地位... 查看详情

「干货分享」模块化编程和maven配置实践一则

?封面说到模块化编程,对我个人而言首先起因于团队协作的需要,也就是组织架构结构特点来决定,而不是跟风求得自我认同,看看我们团队的组织结构:? 其中:基础平台部职责:1、AI实验室:语音,图像识别算法持续优... 查看详情

高性能的javascript代码,优化技巧分享

JavaScript作为当前最为常见的直译式脚本语言,已经广泛应用于Web应用开发中。为了提高Web应用的性能,从JavaScript的性能优化方向入手,会是一个很好的选择。本文从加载、上下文、解析、编译、执行和捆绑等多个方... 查看详情

从页面加载到数据请求,前端页面性能优化实践分享(代码片段)

...端开发都知道前端的工作内容是很多的,对于HTML、CSS、Javascript、Image、Flash等各种内容的使用。为了更好提升应用的性能,我们需要对各种资源内容进行不同方面的优化。对用户而言,优化可以让应用的响应速度加快,加载更加... 查看详情