位置: 编程技术 - 正文

详解JavaScript的另类写法(javascript总结)

编辑:rootadmin

推荐整理分享详解JavaScript的另类写法(javascript总结),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript的概念,javascript详细介绍,javascript的理解,细说javascript,javascript的理解,javascript的概念,javascript的理解,javascript的理解,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript 是属于网络的脚本语言!

JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。

JavaScript 是因特网上最流行的脚本语言。

JavaScript 很容易使用!你一定会喜欢它的!

JavaScript一种解释型的脚本语言,语法灵活,让不同的人对同一个功能有很多种不同的写法。怎样组织JavaScript代码才能让别人一眼看出你不简单呢?是否很期待别人在看完你的代码之后感叹一句“原来还可以这样写”呢?

匿名函数的N种写法

Js的匿名函数是未申明函数名的自执行函数,格式如下:

实际在项目上我们经常是在前面加上“;”:

因为Js的语法是可以省略分号的,但是这种机制也会导致意外的错误。为了避免代码上线后合并压缩成一个文件造成语法错误,所以加上“;”可以避免未知错误。

但有时我们看见别人的库或是插件里面会这样写匿名函数:

“+”在这里是运算符,运算符具有极高的优先级,所以右边的函数声明加上括号的部分(实际上就是函数执行的写法)就直接执行了。其实不止前面可以是“+”号,“-”、“!”、“~”、“++”等运算符均可。这里只是做扩展介绍,具体用哪种写法看团队统一规范。

抛弃Math.ceil()和Math.floor取整

也许在别的代码中看到过这两种符号~~和|0,直接看运行结果:

注明下,这种写法不是原创,只是引用过来分析和说明下这种另类的写法。简单解释,~是按位取反的运算符,可以将浮点数通过舍去小数点后面的所有位来转换为整数。正整数可转换为无符号的十六进制值。然后再取反一次(~~)负负得正,就得到原来的整数。就是这么任性不爱调方法,你说算不算也是一种优化呢。

注意:如果需要做严格的四舍五入运算就要慎用此方法,那就还是得用Math函数。

if和else也不是唯一

用if-else的条件判断是很清晰的逻辑,在处理数据量不大情况下看起就不是很简洁:

详解JavaScript的另类写法(javascript总结)

看看用||和&&给代码瘦身后:

一行就搞定,瘦身成功。||和&&,很简单的原理就不用说啦,里面用到逗号运算符还不容易理解,可以继续换成三元运算符:

这种写法看起来结构是够简化,但是别人看你的代码会有点吃力。

用toString替代烦人的字符串拼接DOM结构

如果要动态生成一个dom结构一般我们是这样实现的 :

如果再添加各种属性和参数进去,大、小引号混乱很容易报错。然而ES6提供了Template String帮我们解决了这个问题,你可以这样写:

可问题是ES6现在还未正式来啊…不怕,function.toString来解决我们青黄不接时的尴尬:

这里的输出和前面的字符串输出一样一样滴,前端程序猿们只需要关注自己的dom结构就好了。

添加AMD模块支持,提示代码B格

给你写的代码声明一下AMD(异步模块定义,Asynchronous Module Definition)模块规范,这样别人就可以直接通过AMD的规范来加载你的模块了,如果别人没有通过规范来加载你的模块,你也可以优雅地返回一个常规的全局对象。来看看jQueryUI的写法:

改成AMD模块的结构,让你的代码更适于浏览器端加载脚本依赖,按照这种格式来写代码,保证别人一看代码就知道你是个专业的开发者。

继承最优法

JavaScript的灵活性,大大小小的继承方式有十余种之多。每种写法优缺点各异,各家方法不一一列举,举个常用的继承方法为例,原型继承:

这种这种方法实际上是将Child.prototype和Parent.prototype中保存的指针指向了同一个对象,所以子对象原型中扩展一些属性以便之后继续继承的话,父对象的原型也会被改写。所以为了解决这个问题,尝试借用一个临时构造器的写法:

这样父对象的自身属性和原型方法得到保护。“最优”有点夸大,但是是相比较而言的。相信每个人都有自己的写法,还有借用call和apply实现属性继承的优缺点,篇幅有限不一一介绍。

总结

上述所有的JavaScript的另类写法,一些是为了程序易懂或者效率提高的语法糖,这样的做法是比较可取的,比如前面所说的省略if-else的做法。一些是为了提升我们代码的兼容性和性能,比如AMD和继承的方式。……本人菜鸟一枚,上述内容肯定还有不全和没解释透彻的地方以后再补充。

以上内容是针对JavaScript的另类写法的相关介绍,希望对大家有所帮助!

javascript HTML5 Canvas实现圆盘抽奖功能 我们经常参加各种电商优惠活动,比如购买达到一定数额进行抽奖活动,在比如微信抽奖,淘宝抽奖,迅雷赚钱宝圆盘抽奖活动等。这些抽奖活动部分

zTree插件下拉树使用入门教程 最近,因为工作需要一个树形下拉框的组件,经过查资料一般有两种的实现方法。其一,就是使用zTree实现;其二,就是使用easyUI实现。因为公司的前端

JS代码防止SQL注入的方法(超简单) 下面通过两个方面给大家介绍js代码防止sql注入的方法,非常简单实用,感兴趣的朋友参考下吧!1.URL地址防注入://过滤URL非法SQL字符varsUrl=location.search

标签: javascript总结

本文链接地址:https://www.jiuchutong.com/biancheng/373423.html 转载请保留说明!

上一篇:JavaScript实现图片自动加载的瀑布流效果(js实现简单的画图功能)

下一篇:javascript HTML5 Canvas实现圆盘抽奖功能

  • 资产损失税前扣除及纳税调整明细表
  • 税控盘的功能特点是
  • 企业所得税税负率怎么算出来的
  • 建筑劳务如何开三个点的发票
  • 增值税征税范围中销售应税服务包括什么服务
  • 企业对伤残怎么赔偿?
  • 小规模电子发票一张可以开多少金额
  • 实名制车票抵扣怎么操作
  • 处置其他权益工具投资时,应按取得的价款
  • 水利建设基金的计税依据
  • 通用机打发票如何验旧
  • 发票到了款未付账务处理
  • 报销粘贴单怎么写
  • 冲销管理费用如何计算
  • 12月了还没找到工作怎么办
  • 帮别的公司做账的叫什么公司
  • 公司开出的经济补偿金可以税前扣除吗
  • 收到多开发票已认证怎么做账?
  • 土地增值税成本扣除项目
  • 吊车费计什么科目
  • 增值税简易征收一览表
  • 分红未及时扣缴税款要缴滞纳金吗?
  • 分期付款的车怎么做分录
  • 其他税收收入包括
  • 存货盘亏损失
  • google搜索打不开怎么办
  • 科技服务业是怎么分类的
  • mac屏幕共享要打开什么权限
  • 已计提但未上缴税款
  • 商业自持店铺出租合法吗
  • 政策性搬迁的会计处理
  • pavprot.exe - pavprot是什么进程 作用是什么
  • 珀泽申群岛上的阿德利企鹅,南极洲 (© Tui De Roy/Minden Pictures)
  • AI:ModelScope(一站式开源的模型即服务共享平台)的简介、安装、使用方法之详细攻略
  • 注册资金不能到位怎么办
  • 职工福利费的税收金额怎么填写
  • framework怎么用
  • yolo4损失函数
  • spring的文章
  • 金蝶存货核算不能结账,能强制结账吗
  • 自产产品用于福利要交增值税吗
  • 招待费发票怎么做分录
  • 投标保证金退还时间是在什么文件的规定的
  • dedecms转zblog
  • mongodb配置文件详解
  • 哪些行业不用交税
  • 公司申请破产后员工有赔偿吗
  • 烟草专卖生产企业许可证
  • ibm.data.db2
  • 全资子公司注销的账务处理
  • 淘宝电子发票怎么申请
  • 什么是房地产企业?它主要具有哪些特性?
  • 冲销坏账怎么做分录
  • 勘察设计费是否可以进入在建工程
  • 管理费用现金流量附表指定
  • 个人独资企业个体工商户的区别
  • 如何冲其他应付款发票
  • 实缴发票和月结发票知乎
  • 什么企业可以开培训费发票
  • 医院床单被套尺寸
  • 资本增值率计算公式是什么?
  • 资产减值损失是费用吗
  • 会计凭证发票粘贴
  • mysql使用命令
  • mysql存储引擎实现原理
  • 怎么判断win7还是win10
  • linux系统的配置设计过程
  • win7开机显示一堆英文
  • win7系统回收站文件夹的位置
  • javascript可以写算法吗
  • shell打开日志文件
  • jqueryfor
  • python批量修改文本内容
  • python 分析
  • 浙江国税电子税务局
  • 开票系统增值税专票税率选多少
  • 捐赠纳税
  • 深圳企业公积金更改代扣银行
  • 江苏地税每月社保多少钱
  • 自然人电子税务局web端怎么进入
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设