注意:根据ECMAScript5.1,第15.1.1.3节,window.undefined是只读的.
当我最近将Facebook Connect与Tersus集成时,我最初收到错误消息,Invalid Enumeration Value并Handler already exists在尝试调用Facebook API函数时.
事实证明,问题的原因是
object.x === undefined
Run Code Online (Sandbox Code Playgroud)
当'object'中没有属性'x'时返回false.
我通过在两个Facebook函数中用常规相等替换严格相等来解决这个问题:
FB.Sys.isUndefined = function(o) { return o == undefined;};
FB.Sys.containsKey = function(d, key) { return d[key] != undefined;};
Run Code Online (Sandbox Code Playgroud)
这使得事情对我有用,但似乎暗示了Facebook的JavaScript代码和我自己的代码之间的某种冲突.
什么可能导致这个?
提示:这是有据可查的undefined == null同时undefined !== null.这不是问题.问题是我们如何得到undefined !== undefined.
javascript ×1