alert(document==window);
结果是什么?
true & false
这个原因我狂查一阵试试。
<script type="text/javascript">
for (var property in window) {
if (property == "document") alert(property);
}
//可能是因为window包括document吧。。
</script>
alert(window == top);
alert(window == self);
alert(window === document); //就可以啦;
不可以呀
alert(window==top) true
alert(window===top) false
在IE中是TRUE,在FIREFOX中是FALSE
感觉莫名奇妙,应该是false才对,结果发现顺序不一样结果竟然不一样!
找到一个解释,是这样说的:
如果“==”左边的对象和右边对象是同一对象或是右边的对象的父对象,true,否则false
相等运算符 (==)
如果两表达式的类型不同,则试图将它们转换为字符串、数字或 Boolean 量。
NaN 与包括其本身在内的任何值都不相等。
负零等于正零。
null 与 null 和 undefined 相等。
相同的字符串、数值上相等的数字、相同的对象、相同的 Boolean 值或者(当类型不同时)能被强制转化为上述情况之一,均被认为是相等的。
其他比较均被认为是不相等的。
恒等运算符 (===)
除了不进行类型转换,并且类型必须相同以外,这些运算符与相等运算符的作用是一样的。
找到一个解释,是这样说的:
如果“==”左边的对象和右边对象是同一对象或是右边的对象的父对象,true,否则false
这个解释说不过去。
如下:
alert(window==history)
alert(window==event)
alert(window==location)
我自己都不信这个解释。
但这是我唯一找到的一个。
我猜测:
alert(window==document); 相当于 alert(window.document==document);
而
alert(document==window); 相当于 alert(document.window==window);
按楼上的解析 都是返回true了
document就没有window这个对象,怎么能返回true呢?显然不能。
window
|
-----------------------------
| | |
history document location
我想问题根源应该是来自于IE对 document对象 的处理方法的特殊 *** 吧。
看置顶帖
好像是IE的bug,FireFox没问题
alert("window:"+window.document);
alert("document:"+document);
alert(window.document==document);
alert(document==window.document);
接分
想不通才正常。
想通了太牵强。
MARK`
mark
果然强```8懂
alert(window==document);
alert(document==window);
前面的一个在IE中是true,在FF中是Flase
第二个在IE和FF中都是flase
难道说,IE中把document和window当成一样的存在了?不过有可能呢~貌似微软就是这么处理的说……
alert("window:"+window.document);
alert("document:"+document);
alert(window.document==document);
alert(document==window.document);
这个……前两个的现实内容IE和FF不一样……后面的好像一样的说……为什么前面两个不一样?
在IE中,this=window>=document
因为一个window里面只包含了一个document对象,
当执行window==document时,实际上是拿window.document和document进行比较
而执行document==window时,不能根据document找到window对象,
这是IE这样解释javascript造成的。
而在firefox中,他们是不同的对象,
纯属个人见解
头一次看到,原来js中也有 === 衡等运算符。
使用===能够准确的说明,document和window的确不是一个对象。
"当执行window==document时,实际上是拿window.document和document进行比较"
不明白微软为什么这么处理
如果是ie的bug我们想这些有意义吗
其实就是不严肃的表现。脚本吗,总是小儿科。
ls此言差矣
JS的门槛是比较低,但是它又远比大多数人想像的复杂
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 有人 document window alert 对象 IE window.document |
注册
个人空间
