这是一个奇怪的IE怪癖。以下是步骤:
true.toJSON()
它返回true
。没有其他浏览器这样做。它给了我一些问题,因为它导致jQueryUI的工具提示小部件失败,因为在某些时候它将布尔值true
传递给$.isEmptyObject()
。通常传递true
只会返回true
,但由于true
现在有一个与之关联的方法(toJSON
),它将返回false
并打破小部件。
我注意到有一些网站(比如谷歌)可以尝试进行相同的测试而true.toJSON()
只是休息而不返回任何内容。什么是这种奇怪的toJSON
方法,我该如何摆脱它?
答案 0 :(得分:2)
来自the jQuery.isEmptyObject()
documentation:
参数应该始终是一个普通的JavaScript Object作为其他类型 对象(DOM元素,原始字符串/数字,宿主对象)可以 不能跨浏览器提供一致的结果。
换句话说,修复工具提示小部件。
答案 1 :(得分:0)
toJSON
是一种方法,如果在对象上定义,则指定JSON.stringify
对其起作用的方式。查看MDN了解详情。