逗号操作符以及(0,function)()
生活随笔
收集整理的這篇文章主要介紹了
逗号操作符以及(0,function)()
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
相關(guān)鏈接:https://developer.mozilla.org...
逗號(hào)操作符
概述:逗號(hào)操作符對(duì)它的每個(gè)操作數(shù)求值(從左到右),并返回最后一個(gè)操作數(shù)的值。當(dāng)你想要在期望一個(gè)表達(dá)式的位置包含多個(gè)表達(dá)式時(shí),可以使用逗號(hào)操作符。這個(gè)操作符最常用的一種情況是:for 循環(huán)中提供多個(gè)參數(shù)。需要注意的是,var 語(yǔ)句中的逗號(hào)不是逗號(hào)操作符,因?yàn)樗皇谴嬖谟谝粋€(gè)表達(dá)式中。
案例:
function testFunc () {var a = 0;return (a += 1, a); // 等價(jià)于return ++x; }console.log((1, 2)); // console 2 console.log((a = b = 3, c = 4)); // console 4逗號(hào)操作符的用處
先看一個(gè)案例:
var obj = {myFunc: function () {console.log(this === window);console.log(this === obj);} } obj.myFunc(); // false true (0,obj.myFunc)(); // true輸出的結(jié)果為 false-true ture。
在函數(shù)foo中,this指向的是a,因?yàn)閒oo是a的方法。所以this===window返回false就能理解了。
但是調(diào)用(0,obj.myFunc)(),表達(dá)式(0,a.foo)將評(píng)估它的每個(gè)操作數(shù)(從左到右),并返回最后一個(gè)操作數(shù)的值。換句話說,(0,a.foo)等于:
總結(jié)
以上是生活随笔為你收集整理的逗号操作符以及(0,function)()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2018-7-9
- 下一篇: GraphicsStatsService