浏览器JS引擎是否实现了ECMAScript的closure?

There is a test.
var  test = " wrong "
Object.prototype.test
= " right " ;

var  score = 0 ;

void   function  f0(){
    
if (test == " right " )score ++ ;
}()

void   function (){
    
if (test == " wrong " )score ++ ;
}()

var  e = " right " ;
try {
    
throw   new  Error;
catch (e) {
    e
= " wrong " ;
    
if (test == " right " )score ++ ;
}
if (e == " right " )score ++ ;

var  f;
void   function  f(){
}
if ( typeof  f == " undefined " )score ++ ;


var  err;
function  a(){
    
var  m = " right " ;
    
var  n;
    
return   function (){
        
var  err;
        
return  arguments[ 0 ].call( this ,arguments[ 1 ]);
    }
}
try {
var  b = a();
if (b(eval, " m " ) == " right " )score ++ ;
catch (err) {
}


alert(score
+ " /6 " )

完全实现了ECMAScript3的JS引擎应该得到 6/6
然而
InternetExplorer8.0        2/6
FireFox3.0                      5/6
Opera9.5                        4/6
Safari3.1.1                     4/6
浏览器
IE
FF
Opera
Safari






























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值