gpt4 book ai didi

JavaScript:未定义!==未定义?

转载 作者:IT王子 更新时间:2023-10-29 02:52:16 31 4
gpt4 key购买 nike

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

  • 现代浏览器正确地实现了这一点。例如:Safari 5.1、Firefox 7、Chrome 20 等
  • Undefined 在 Chrome 14 中仍然是可变的,...

当我最近整合了Facebook ConnectTersus ,我最初在尝试调用 Facebook API 函数时收到错误消息 Invalid Enumeration ValueHandler already exists

原来问题的原因是

object.x === undefined

当“object”中没有属性“x”时返回 false。

我通过在两个 Facebook 函数中用常规相等替换严格相等来解决这个问题:

FB.Sys.isUndefined = function(o) { return o == undefined;};
FB.Sys.containsKey = function(d, key) { return d[key] != undefined;};

这让事情对我有用,但似乎暗示 Facebook 的 JavaScript 代码和我自己的代码之间存在某种冲突。

这可能是什么原因造成的?

提示:undefined == nullundefined !== null 有详细的文档记录。这不是这里的问题。问题是我们如何得到 undefined !== undefined

最佳答案

问题是 undefined 与 null 相比,使用 == 给出 true。因此,对未定义的常见检查是这样完成的:

typeof x == "undefined"

这确保了变量的类型确实是未定义的。

关于JavaScript:未定义!==未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/776950/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com