JavaScript面向对象的支持(下)
2010-09-14 13:37:33 来源:WEB开发网八、JavaScript面向对象的支持
4. 实例和实例引用
在.NET Framework对CTS(Common Type System)约定“一切都是对象”,并分为“值类型”和“引用类型”两种。其中“值类型”的对象在转换成“引用类型”数据的过程中,需要进行一个“装箱”和“拆箱”的过程。在JavaScript也有同样的问题。我们看到的typeof关键字,返回以下六种数据类型:
"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。我们也发现JavaScript的对象系统中,有String、Number、Function、Boolean这四种对象构造器。那么,我们的问题是:如果有一个数字A,typeof(A)的结果,到底会是'number'呢,还是一个构造器指向function Number()的对象呢?
// 关于JavaScript的类型的测试代码
function getTypeInfo(V) {
return (typeof V == 'object' ? 'Object, construct by '+V.constructor
: 'Value, type of '+typeof V);
}var A1 = 100;
var A2 = new Number(100);
document.writeln('A1 is ', getTypeInfo(A1), '<BR>');
document.writeln('A2 is ', getTypeInfo(A2), '<BR>');
document.writeln([A1.constructor === A2.constructor, A2.constructor === Number]);
测试代码的执行结果如下:
A1 is Value, type of number
A2 is Object, construct by function Number() { [native code] }
true,true
Tags:JavaScript 面向 对象
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接