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类库D
Oct 24 Javascript
js中方法重载如何实现?以及函数的参数问题
Aug 01 Javascript
javascript每日必学之多态
Feb 23 Javascript
javascript类型系统_正则表达式RegExp类型详解
Jun 24 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
Jun 18 Javascript
angularJs的ng-class切换class
Jun 23 Javascript
微信小程序图片选择区域裁剪实现方法
Dec 02 Javascript
Vuex 入门教程
Jan 10 Javascript
了解javascript中的Dom操作
May 27 Javascript
a标签调用js的方法总结
Sep 05 Javascript
JS Web Flex弹性盒子模型代码实例
Mar 10 Javascript
Ajax常用封装库——Axios的使用
May 08 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
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
JavaScript交换两个变量方法实例
2019/11/25 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
python三元运算符实现方法
2013/12/17 Python
5种Python单例模式的实现方式
2016/01/14 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
python自动发送测试报告邮件功能的实现
2019/01/22 Python
python文件和文件夹复制函数
2020/02/07 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
光电信息专业应届生求职信
2013/10/07 职场文书
高分子材料与工程专业推荐信
2013/12/01 职场文书
计算机系本科生求职信
2014/05/31 职场文书
土地转让协议书
2014/09/27 职场文书
工厂标语大全
2014/10/06 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python