Dieser Artikel stellt hauptsächlich die Analyse des Komma-Operators in js vor. Er hat einen gewissen Referenzwert. Jetzt können Freunde in Not darauf zurückgreifen.
Fall:
function testFunc () { var a = 0; return (a += 1, a); // 等价于return ++x; } console.log((1, 2)); // console 2 console.log((a = b = 3, c = 4)); // console 4
Die Verwendung des Kommaoperators
var obj = { myFunc: function () { console.log(this === window); console.log(this === obj); } } obj.myFunc(); // false true (0,obj.myFunc)(); // true
Das Ausgabeergebnis ist falsch-wahr.
In der Funktion foo zeigt dies auf a, da foo eine Methode von a ist. Daher ist es verständlich, dass this===window false zurückgibt.Beim Aufruf von (0,obj.myFunc)() wertet der Ausdruck (0,a.foo) jeden seiner Operanden aus (von links nach rechts) und gibt den Wert des letzten Operanden zurück. Mit anderen Worten, (0, a.foo) ist gleich:
function(){ console.log(this === window);//且这个函数不再附加到任何东西,它this是全局对象window,所以输出的是true。
Verwandte Empfehlungen:
So verwenden Sie natives JS zur Implementierung von Ajax jQuery-Selektoranalyse von Engine SizzleDas obige ist der detaillierte Inhalt vonAnalyse des Kommaoperators in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!