国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript兩段代碼,兩個小技巧

2019-11-21 00:46:32
字體:
來源:轉載
供稿:網友
第一段代碼就是強調一下這個用法,我在我的項目中使用了一個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"; 感覺是不是節省了一點空間呢,上面這句話節省了一個變量名,呵呵.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汝阳县| 宁晋县| 喀喇沁旗| 波密县| 庐江县| 沾益县| 雅江县| 安阳县| 扎兰屯市| 灵璧县| 黄浦区| 百色市| 云林县| 泗阳县| 安远县| 辽宁省| 邓州市| 惠安县| 娄烦县| 西乌| 张北县| 班戈县| 信丰县| 韶山市| 长治县| 平昌县| 垣曲县| 通榆县| 谷城县| 邵阳市| 甘谷县| 荥阳市| 黄大仙区| 锡林浩特市| 文化| 灵武市| 武鸣县| 左云县| 温州市| 台中县| 阳山县|