javascript两段代码,两个小技巧


Posted in Javascript onFebruary 04, 2010

第一段代码就是强调一下这个用法,我在我的项目中使用了一个switch,后来我发现这样的代码好丑,于是我就写成||&&形式的, 后来测试性能的时候,发现性能竟然上了一个数量级,可见这种写法在某些情况下可以增加性能,但是我并不确定是何种情况才能提高性能,因为我测试在通常情况下switch和||&&的性能是差不多的.
原来的代码:

switch(this.now_char=this.str.charAt(this.index)){ 
case "/": 
if(this.handleNote()) continue;else this.str2+=this.now_char; 
break; 
case "\"": 
case "\'": 
if(this.handleStr()) continue;else this.str2+=this.now_char; 
break; 
case "\n": 
if(this.handleLine()) continue;else this.str2+=this.now_char; 
break; 
case "{": 
case "}": 
if(this.handleDepth()) continue;else this.str2+=this.now_char; 
break; 
case ":":if(this.handleJson()) continue;else this.str2+=this.now_char;break; 
default: 
if(this.handleKeyword()) continue;else this.str2+=this.now_char; 
break; 
}

改写后的代码,功能当然是一样的 view sourceprint?1 (this.now_char=="/"&&(this.handleNote()||(this.str2+=this.now_char)))||
((this.now_char=="\""||this.now_char=="\'")&&(this.handleStr()||(this.str2+=this.now_char)))||
(this.now_char=="\n"&&(this.handleLine()||(this.str2+=this.now_char)))|| ((this.now_char=="{"||this.now_char=="}")&&(this.handleDepth()||(this.str2+=this.now_char)))||
(this.handleKeyword()||(this.str2+=this.now_char))
我嚼的第二种写法更简洁点,||&&还有很多用处,可以看那篇文章的介绍
第二段代码是利用了一个特性: (ele=document.createElement("div")) ;//这个表达式会返回一个dom元素,赋值的同时会把值返回给外边的括号
于是出来下面这段代码 :
var mixin=function(target,options){ 
for(var i in options){ 
target[i]=options[i] 
} 
} 
var ele=null; 
mixin(ele=document.createElement("div"),{ 
id:"aa", 
className:"bb", 
innerHTML:"sss" 
}) 
document.body.appendChild(ele) 
debug(ele.id)//aa 
debug(ele.className)//bb 
debug(ele.innerHTML)//sss

这段代码是因为我实在厌烦了建立一个dom元素的时候的一大堆语句:
var ele=document.createElement("div") 
ele.id="aa"; 
ele.className="aa" 
ele.innerHTML="sss"

等等等等,好烦啊.
于是出来了上面的代码.
用上面的原理还可以这样写代码 (ele=document.createElement("div")).className="aa"; 感觉是不是节省了一点空间呢,上面这句话节省了一个变量名,呵呵.
Javascript 相关文章推荐
javascript设计模式 封装和信息隐藏(上)
Jul 24 Javascript
jquery分页插件jquery.pagination.js使用方法解析
Apr 01 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
Nov 24 Javascript
探讨跨域请求资源的几种方式(总结)
Dec 02 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
Jan 05 Javascript
vue计算属性和监听器实例解析
May 10 Javascript
微信小程序实现简单表格
Feb 14 Javascript
webpack4实现不同的导出类型
Apr 09 Javascript
layui实现checkbox的目录树tree的例子
Sep 12 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
javascript如何实现create方法
Nov 04 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 Javascript
JavaScript面向对象之静态与非静态类
Feb 03 #Javascript
JavaScript 学习笔记(十六) js事件
Feb 01 #Javascript
js左侧多级菜单动态的解决方案
Feb 01 #Javascript
javascript 三种编解码方式
Feb 01 #Javascript
对字符串进行HTML编码和解码的JavaScript函数
Feb 01 #Javascript
javaScript 关闭浏览器 (不弹出提示框)
Jan 31 #Javascript
javascript让setInteval里的函数参数中的this指向特定的对象
Jan 31 #Javascript
You might like
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
封装好的省市地区联动控件附下载
2007/08/13 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
详解Bootstrap插件
2016/04/25 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
Python装饰器decorator用法实例
2014/11/10 Python
Python字符串格式化输出方法分析
2016/04/13 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
运动会800米加油稿
2014/02/22 职场文书
家教广告词
2014/03/19 职场文书
电视节目策划方案
2014/05/16 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
工厂标语大全
2014/10/06 职场文书
廉政承诺书范文
2015/04/28 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
感恩老师主题班会
2015/08/12 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
Python实现天气查询软件
2021/06/07 Python