javascript两段代码,两个小技巧
JavaScript代码 技巧 两个 两段
2023-06-13 09:14:16 时间
第一段代码就是强调一下这个用法,我在我的项目中使用了一个switch,后来我发现这样的代码好丑,于是我就写成||&&形式的,后来测试性能的时候,发现性能竟然上了一个数量级,可见这种写法在某些情况下可以增加性能,但是我并不确定是何种情况才能提高性能,因为我测试在通常情况下switch和||&&的性能是差不多的.
原来的代码:
复制代码代码如下:
原来的代码:
switch(this.now_char=this.str.charAt(this.index)){
case"/":
if(this.handleNote())continue;elsethis.str2+=this.now_char;
break;
case"\"":
case"\"":
if(this.handleStr())continue;elsethis.str2+=this.now_char;
break;
case"\n":
if(this.handleLine())continue;elsethis.str2+=this.now_char;
break;
case"{":
case"}":
if(this.handleDepth())continue;elsethis.str2+=this.now_char;
break;
case":":if(this.handleJson())continue;elsethis.str2+=this.now_char;break;
default:
if(this.handleKeyword())continue;elsethis.str2+=this.now_char;
break;
}
改写后的代码,功能当然是一样的viewsourceprint?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元素,赋值的同时会把值返回给外边的括号
于是出来下面这段代码:
varmixin=function(target,options){
for(variinoptions){
target[i]=options[i]
}
}
varele=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元素的时候的一大堆语句:
varele=document.createElement("div")
ele.id="aa";
ele.className="aa"
ele.innerHTML="sss"
等等等等,好烦啊.
于是出来了上面的代码.
用上面的原理还可以这样写代码(ele=document.createElement("div")).className="aa";感觉是不是节省了一点空间呢,上面这句话节省了一个变量名,呵呵.
相关文章
- TypeScript(node)连接使用MySQL(JavaScript也一样)
- JavaScript 数据类型
- 常用的JavaScript代码块
- JavaScript判断浏览器版本详解编程语言
- 微信pc打开链接不运行javascript的解决方法详解编程语言
- 实例:尽可能写友好的Javascript代码
- 自动生成文章摘要的代码[JavaScript版本]
- firefox中用javascript实现鼠标位置的定位
- 设置和读取cookie的javascript代码
- 使用JavaScript创建可维护的幻灯片效果代码
- 获取URL地址中的文件名和参数的javascript代码
- javascript线性渐变三
- JavaScript读取元素的CSS信息的代码
- JavaScript多级下拉菜单代码(简单实用)
- JavaScript文本框下拉提示(自动提示)
- javascript节点排序实现代码
- javascript中的对象创建实例附注释
- javascript开发技术大全-第3章js数据类型
- c#和Javascript操作同一json对象的实现代码
- javascript学习笔记(十七)检测浏览器插件代码
- JavaScript在ASP页面中实现掩码文本框效果代码
- JavaScript初学者应注意的七个细节详细介绍
- JavaScript起点(严格模式深度了解)
- JavaScript上万关键字瞬间匹配实现代码
- javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
- JavaScript代码复用模式详解
- 使用JavaScript获取地址栏参数的方法