标签:
引用:http://2660311.blog.51cto.com/2650311/1358226/
1)类型、原生类型、对象类型(types、primitive types、object types)
不像我们在学习JAVA时,被告知JAVA是完全OOP的语言:class是一类具有共同特点的物体的抽象,object是某个class下具体的一个实现,Object类是所有类的顶层父类,对Java的认知是从类与对象开始的;Javascript则不然,它是从类型(type)开始,在各类语言中遇到的number,string, boolean, object, function,array等都属于类型。
这些类型在JS中分为两大类:原生类型与对象类型,原生类型包括:number,string, bool, null, undefined;剩下的非原生类型对象都属于对象类型,包括:object, array, function等,那这里的object专指具有属性(attribute)的对象,在Firebug中的代码示例如下:
1 // 1) primitive types 2 log(typeof 1); // number 3 log(typeof ""); // string 4 log(typeof false); // boolean 5 log(typeof undefined); // undefined 6 log(typeof null); // object null是个特列,属于原生类型; 7 log(null instanceof Object); // false 8 // 2) object types. 9 log(typeof new Object); // object 10 log(typeof new Function); // function 11 log(typeof new Array); // object 12 13 log(opts.call(new Object)); // [object Object] 14 log(opts.call(new Function)); // [object Function] 15 log(opts.call(new Array)); // [object Array]
判断某个值是什么大的类型没有意义,往往需要判断它是什么原生类型或者对象类型:判断原生类型,可以使用typeof关键字;判断对象类型,可以使用toString()方法;?? 不理解
标签:
原文地址:http://www.cnblogs.com/haigui-zx/p/4747233.html