Maison > Article > développement back-end > Analyse de l'opérateur virgule en js
Cet article présente principalement l'analyse de l'opérateur virgule en js. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
. Présentation : L'opérateur virgule évalue chacun de ses opérandes (de gauche à droite) et renvoie la valeur du dernier opérande. L'opérateur virgule peut être utilisé lorsque vous souhaitez inclure plusieurs expressions là où une expression est attendue. L'une des utilisations les plus courantes de cet opérateur est lorsque plusieurs paramètres sont fournis dans une boucle for. Notez que la virgule dans l'instruction var n'est pas un opérateur virgule car elle n'est pas présente dans une expression.
Cas :
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
Regardons d'abord un cas :
var obj = { myFunc: function () { console.log(this === window); console.log(this === obj); } } obj.myFunc(); // false true (0,obj.myFunc)(); // true
Le résultat de sortie est faux- vrai vrai.
Dans la fonction foo, cela pointe vers a, car foo est une méthode de a. Il est donc compréhensible que this===window renvoie false.
Mais en appelant (0,obj.myFunc)(), l'expression (0,a.foo) évaluera chacun de ses opérandes (de gauche à droite) et renverra la valeur du dernier opérande. En d'autres termes, (0, a.foo) est égal à :
function(){ console.log(this === window);//且这个函数不再附加到任何东西,它this是全局对象window,所以输出的是true。
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de contenu connexe, veuillez. faites attention au site Web PHP chinois !
Recommandations associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!