天天看点

alert 在firefox chrome ie8下面的表现

在firefox的插件firbug里面console里面运行以下代码

var alert2 = function(v){alert('alert2:'+v);};
alert = alert2;
alert('hello2');
           

请你预测一下会出现什么结果

请看cpu的统计图

alert 在firefox chrome ie8下面的表现

一个cpu 立刻跑满

再看一下任务状态

alert 在firefox chrome ie8下面的表现

firefox晕了 ,呵呵

再来看看其他浏览器会作何反应

alert 在firefox chrome ie8下面的表现

crome 有个调用深度限制,python也有这种限制,如果你的代码里面需要这种设计方式,可得注意了,crome的诡异会造成很无奈的结果,曾经我就遇到过数组无缘无故的重排序了的麻烦,不过需要这种的情况也算稀有

alert 在firefox chrome ie8下面的表现

ie8直接就锁定alert不能被赋值,太佩服MS的霸道

PS: MS的平台下的哲学,MS说了算

语言的分裂就是如此产生的,出什么样的规范也不能阻挡编译器的不一致