Le meilleur moyen de vérifier l'instance d'un objet est à travers instanceof opérateur:
obj instanceof jQuery
Mais parfois, il peut échouer dans le cas de plusieurs jQuery instances sur un document. @Gueorgui Ivankin mentionné:
si j'ai $
dans mon espace de noms courant de pointage à l' jQuery2
et j'ai un objet de l'espace de noms (où $
est jQuery1
) alors je n'ai aucun moyen d'utiliser instanceof
pour vérifier si cet objet est un jQuery
objet
Pour surmonter ce problème, nous pouvons utiliser l'approche par s'enquérir de l' jquery
de la propriété en obj
'jquery' in obj
Toutefois, si vous essayez d'effectuer cette vérification avec des valeurs primitives, il lèvera une erreur, de sorte que vous pouvez modifier la précédente vérification en assurant obj
un Object
'jquery' in Object(obj)
Même si la manière n'est pas le plus sûr (vous pouvez créer l' 'jquery'
propriété dans un objet), on peut améliorer la validation en travaillant avec les deux approches:
if (obj instanceof jQuery || 'jquery' in Object(obj)) { }