關於逗號( , )在JS中的使用技巧
在變數宣告中使用
var a,b = 3;
我所理解的執行順序為:
- b = 3
- var a = underfind
- var b = 3
- var a = underfind; var b = 3
Dom: 測試B是否為全域性變數
function test(){
var a,b = 3;
}
test();
b; // b is not defind
function test(){
var a,b = 3;
return function(){
alert(b); // a = underfind
}
}
test().call(null); // 3
在流程控制語句中
if(a = 3, true) { alert(a) } // 3
if(a = 3, false) { alert(a) } // no
alert(a) // 3
在上面的例子中,程式先從左至右執行,但是if執行的條件卻是根據第二個的boolan值執行,再看一個Dom
var a,b,c = 1;
if(c){ //method1
b = 1;
if(b){
a = 1;
if(a){
alert();
}
}
}
if(c){ //method2
if(b=1, c){
if(a=1, b){
alert();
}
}
}
這兩行方法都是等價的,但是可讀性卻明顯不是一個層次,在多重流程控制語句中使用,號是多麼舒服
改變執行優先順序
alert(3,4) // 3
alert((3,4)) // 4
這怎麼有種 && 短路求值的味道,取最後一個為true的值,即覆蓋
在 return 中返回多個值
var a = 3
,b = 4;
console.log((function(){ return b = 5,b })()) // 等價於 b = 5; return b
相當於將兩個單獨的語句合併成一句,可讀性更高
再找一個JQ原始碼上面的例子
( w.fn.init = function(){}).prototype = w.fn,q = w(r) // w.fn;q 也是等價的
未完待續......
相關文章
- 關於優化器提示使用逗號的語法優化
- js中逗號(,)的作用是什麼JS
- JS逗號運算子的用法詳解JS
- PHP刪除字串中的逗號PHP字串
- js中關於單引號和雙引號的一點用法JS
- 關於使用iview中Table元件的一點小技巧View元件
- 關於js中的值JS
- 關於js中的‘==’ 與 ‘===’JS
- 關於js中的this呼叫JS
- 乾貨技巧|關於Redis的16個使用技巧Redis
- JavaScript 逗號(,)用法JavaScript
- JavaScript 逗號用法JavaScript
- Java 中將列表轉換為字串,並使用逗號分隔其中的元素Java字串
- 關於 json 單引號和雙引號區別--請使用雙引號JSON
- js裡關於Array.prototype.sort分析及日常使用技巧JS
- 在Hibernate中關於Oracle sequence的使用KHOracle
- 在SQL Server中,關於with as使用介紹SQLServer
- 關於PHP程式設計中的變數使用技巧小結PHP程式設計變數
- firefox和IE在一個逗號上的差別Firefox
- Android 關於WebView的使用技巧小解AndroidWebView
- Python中逗號的三種作用例項分析Python
- JS中關於argumentsJS
- MySQL中JSON欄位的使用技巧MySqlJSON
- MySQL 中 JSON 欄位的使用技巧MySqlJSON
- sqlalchemy在python中的使用(關於查詢)二SQLPython
- JS數字格式化(用逗號隔開 程式碼已做了修改 支援0-9位逗號隔開)JS
- 關於JS中事件代理的解析JS事件
- [譯] 關於 RxJS 中的 SubjectJS
- 關於jsp中的亂碼!!!!JS
- php數字去掉逗號的方法PHP
- JavaScript (,)逗號操作符JavaScript
- jq用逗號分隔字串字串
- 【js】中的小技巧JS
- TypeScript在React高階元件中的使用技巧TypeScriptReact元件
- 原生IP在養號策略中的關鍵角色
- javascript實現的每三位數字使用逗號分割JavaScript
- 人大金倉切割逗號拼接的字串,並使用in來查詢字串
- 在 Linux中find命令使用技巧Linux