REMARQUE: Comme par ECMAScript5.1, section 15.1.1.3, fenêtre.undefined est en lecture seule.
- Les navigateurs modernes de mettre en œuvre correctement. par exemple: Safari 5.1, Firefox 7, Chrome 20, etc.
- Undefined est toujours changeantes: Chrome 14, ...
Quand j'ai récemment intégré Facebook se Connecter avec Tersus, j'ai d'abord reçu les messages d'erreur Invalid Enumeration Value
et Handler already exists
lorsque vous essayez d'appeler Facebook fonctions de l'API.
Il s'est avéré que la cause du problème a été
object.x === undefined
retourner false lorsqu'il n'y a pas de propriété " x " en "objet".
J'ai contourné le problème en remplaçant la stricte égalité avec régulièrement de l'égalité dans les deux Facebook fonctions:
FB.Sys.isUndefined = function(o) { return o == undefined;};
FB.Sys.containsKey = function(d, key) { return d[key] != undefined;};
De ce fait des choses pour moi, mais semble faire allusion à une sorte de collision entre Facebook du code JavaScript et la mienne.
Quelle pourrait en être la cause?
Astuce: Il est bien documenté que undefined == null
tout undefined !== null
. Ce n'est pas la question ici. La question est de savoir comment vient nous obtenons undefined !== undefined
.