相关疑难解决方法(0)

JavaScript:undefined!== undefined?

注意:根据ECMAScript5.1,第15.1.1.3节,window.undefined是只读的.

  • 现代浏览器正确实现此功能 例如:Safari 5.1,Firefox 7,Chrome 20等.
  • 未定义仍然可以改变:Chrome 14,...

当我最近将Facebook ConnectTersus集成时,我最初收到错误消息,Invalid Enumeration ValueHandler 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

65
推荐指数
5
解决办法
11万
查看次数

标签 统计

javascript ×1