Maison  >  Article  >  développement back-end  >  Analyse de l'opérateur virgule en js

Analyse de l'opérateur virgule en js

不言
不言original
2018-07-14 10:40:501445parcourir

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

Opérateur virgule

. 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

L'utilisation de l'opérateur virgule

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn