關於逗號( , )在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 也是等價的
未完待續......
相關文章
- PHP刪除字串中的逗號PHP字串
- 關於使用iview中Table元件的一點小技巧View元件
- 關於公眾號的使用
- js裡關於Array.prototype.sort分析及日常使用技巧JS
- 乾貨技巧|關於Redis的16個使用技巧Redis
- firefox和IE在一個逗號上的差別Firefox
- 在Hibernate中關於Oracle sequence的使用KHOracle
- JavaScript 逗號用法JavaScript
- JavaScript 逗號(,)用法JavaScript
- Java 中將列表轉換為字串,並使用逗號分隔其中的元素Java字串
- js 遍歷陣列取出字串用逗號拼接JS陣列字串
- sqlalchemy在python中的使用(關於查詢)二SQLPython
- ACCESS 關於表設計中,驗證規則的使用技巧
- 數字加逗號
- 關於JS中事件代理的解析JS事件
- 【JavaScript】聊聊js中關於this的指向JavaScriptJS
- 【js】中的小技巧JS
- php數字去掉逗號的方法PHP
- JavaScript (,)逗號操作符JavaScript
- Filter在Vue,JS,JQ中的使用FilterVueJS
- 在 Linux中find命令使用技巧Linux
- es6關於class在js和ts中的的一些理解JS
- 人大金倉切割逗號拼接的字串,並使用in來查詢字串
- 關於 JS 陣列,物件 length 使用的坑JS陣列物件
- 說說被NLP忽視的逗號
- JavaScript刪除字串中最後的逗號JavaScript字串
- coe檔案資料後的逗號
- mysql 如何查詢逗號“,”分割的字串MySql字串
- 關於 js 中的回撥函式 callbackJS函式
- 原生IP在養號策略中的關鍵角色
- js關於this的疑惑JS
- [筆記] 關於任務佇列在專案中的使用筆記佇列
- 逗號表示式返回值
- 逗號分隔,輸出陣列陣列
- pycharm 取消空格,逗號 等符號的自動補全PyCharm符號
- 陣列拆分成單引號逗號隔開的字串陣列字串
- 從一個誤寫的逗號談開去——JS程式碼是如何被壓縮的JS
- 在Java中this關鍵字的使用Java