为了测试javascript中typeof和Object.prototype.toString的各个native object在不同的浏览器的运行结果,特写了以下的测试代码:
var def;
var gPrimitiveType = {
'string':'str',
'boolean':true,
'function':function(){},
'object':{},
'array':[],
'undefined':def
};
var ul = $('content');
QQVIP.object.each(gPrimitiveType, function(value,key){
var child = document.createElement('LI');
var text = 'typeof ' + key + ' is:' + (typeof value);
child.appendChild(document.createTextNode(text));
ul.appendChild(child);
});
var gProtoType = {
'String.prototype':String.prototype,
'Function.prototype':Function.prototype,
'Object.prototype':Object.prototype,
'Array.prototype':Array.prototype,
'Date.prototype':Date.prototype,
'RegExp.prototype':RegExp.prototype
};
var ul = $('typelist');
QQVIP.object.each(gProtoType, function(value,key){
var child = document.createElement('LI');
var text = 'Object.prototype.toString.call( ' + key + ') is:' + (Object.prototype.toString.call(value) );
child.appendChild(document.createTextNode(text));
ul.appendChild(child);
});
下面是在各个浏览器下的运行结果:
1,IE6下:
typeof 运算结果:
- typeof string is:string
- typeof boolean is:boolean
- typeof function is:function
- typeof object is:object
- typeof array is:object
- typeof undefined is:undefined
Object.prototype.toString.call() 运算结果:
- Object.prototype.toString.call( String.prototype) is:[object Object]
- Object.prototype.toString.call( Function.prototype) is:[object Function]
- Object.prototype.toString.call( Object.prototype) is:[object Object]
- Object.prototype.toString.call( Array.prototype) is:[object Array]
- Object.prototype.toString.call( Date.prototype) is:[object Date]
- Object.prototype.toString.call( RegExp.prototype) is:[object RegExp]
二,Firefox3.0.15
typeof 运算结果:
- typeof string is:string
- typeof boolean is:boolean
- typeof function is:function
- typeof object is:object
- typeof array is:object
- typeof undefined is:undefined
Object.prototype.toString.call() 运算结果:
- Object.prototype.toString.call( String.prototype) is:[object String]
- Object.prototype.toString.call( Function.prototype) is:[object Function]
- Object.prototype.toString.call( Object.prototype) is:[object Object]
- Object.prototype.toString.call( Array.prototype) is:[object Array]
- Object.prototype.toString.call( Date.prototype) is:[object Date]
- Object.prototype.toString.call( RegExp.prototype) is:[object RegExp]
三,Chrome4.0
typeof 运算结果:
- typeof string is:string
- typeof boolean is:boolean
- typeof function is:function
- typeof object is:object
- typeof array is:object
- typeof undefined is:undefined
Object.prototype.toString.call() 运算结果:
- Object.prototype.toString.call( String.prototype) is:[object String]
- Object.prototype.toString.call( Function.prototype) is:[object Function]
- Object.prototype.toString.call( Object.prototype) is:[object Object]
- Object.prototype.toString.call( Array.prototype) is:[object Array]
- Object.prototype.toString.call( Date.prototype) is:[object Date]
- Object.prototype.toString.call( RegExp.prototype) is:[object Object]
四:Opera9.20
typeof 运算结果:
typeof string is:string
typeof boolean is:boolean
typeof function is:function
typeof object is:object
typeof array is:object
typeof undefined is:undefined
Object.prototype.toString.call() 运算结果:
Object.prototype.toString.call( String.prototype) is:[object String]
Object.prototype.toString.call( Function.prototype) is:[object Function]
Object.prototype.toString.call( Object.prototype) is:[object Object]
Object.prototype.toString.call( Array.prototype) is:[object Array]
Object.prototype.toString.call( Date.prototype) is:[object Date]
Object.prototype.toString.call( RegExp.prototype) is:[object RegExp]
五,Safari3.1.2
typeof 运算结果:
- typeof string is:string
- typeof boolean is:boolean
- typeof function is:function
- typeof object is:object
- typeof array is:object
- typeof undefined is:undefined
Object.prototype.toString.call() 运算结果:
- Object.prototype.toString.call( String.prototype) is:[object String]
- Object.prototype.toString.call( Function.prototype) is:[object Function]
- Object.prototype.toString.call( Object.prototype) is:[object Object]
- Object.prototype.toString.call( Array.prototype) is:[object Array]
- Object.prototype.toString.call( Date.prototype) is:[object Date]
- Object.prototype.toString.call( RegExp.prototype) is:[object RegExpPrototype]
综上,标红部分都是跟其他不一样的,需要充分注意。
分享到:
相关推荐
javascript判断跨浏览器网页编程。
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
Google称现在有太多的Javascript测试工具,Google自己也有一个Octane工具,但现在的开发编程语言不仅仅是在将静态网页变成动态应用,更需要多多考虑快速浏览的问题,Google希望RoboHornet能给测试带来一些新鲜血液。...
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
第1章 JavaScript简史 1.1 JavaScript的起源 1.2 DOM 1.3 浏览器战争 1.3.1 DHTML 1.3.2 浏览器之间的冲突 1.4 制定标准 1.4.1 浏览器以外的考虑 1.4.2 浏览器战争的结局 1.4.3 崭新的起点 1.5 小结 第2章 ...
本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的 JavaScript编程原则和最佳实践,并全面探讨了HTML5以及jQuery等JavaScript库...
JavaScript脚本用于创Web浏览器支持的交互式网页,是一咱简单易学的Web编程语言。本书全面介绍了客户端JavaScript脚本编程技术。从简单介绍JavaScript与Web开始,循序渐进地介绍了Web浏览器、基本的编程技巧和编程...
新增"水星网页驱动器"类型, 用以支持使用编程方式访问浏览器。 新增"浏览器将要导航"事件。 新增"水星浏览器.取用户数据"方法以支持浏览器绑定自定义数据。 新增"CefQuery"功能用于javascript与浏览器的交互详细见...
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个...
从颇具深度的JavaScript语言基础到作用域(链),从引用类型到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)、文档对象模型(DOM)到基于事件的Web脚本设计,从XML(E4X)到Ajax及JSON,从...
document对象常用属性和方法 window对象的常用属性和方法 history对象的常用属性和方法 location对象的常用属性和方法
目前River Trail还是作为一个Firefox浏览器扩展存在的,尚不清楚是否会引起其他厂家的注意并引入到各自的Javascript引擎中,例如V8。另外, 在原文的评论部分,Intel还解释了River Trail和Web Workers的不同,并欢迎...
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...