我在 IE8 中尝试了 jQuery.isFunction(document.write)并返回false。
这是我注意到的几件事。1. document.write.constructor未定义 2. typeof document.write是对象
我在使用 Sinon 在 document.write 上创建存根时知道了这个问题,它抛出了一个异常,说Attempted to wrap object property write as function
虽然,我可以通过绕过对 document.write 的检查来解决这个问题,但我只是想知道它是 JQuery 中的错误还是故意的(尽管看起来不是)。
此外,我检查了 JQuery 代码及其简单检查$.call(a) === "[object Function]"在 IE8(很可能是其他版本)的情况下失败。
还有一件事,为什么我们不能只检查document.write 的调用函数是否已定义和 native?这应该足够了吗?