1.数据类型
ECMAScript有五种简单(基本)数据类型,分别是UNDEFINED,NULL,BOOLEAN,NUMBER,STRING,还有一种复杂数据类型OBJECT。对象可以理解成一组数据和功能的集合。可以通过new Object()方法来创建。
JS不支持自己创建数据类型。鉴于数据类型是松散型的,我们用typeof来请确定变量的类型。其中NULL会返回OBJECT,可以把NULL理解成一个指向空对象的指针,因此NULL是有意义的,而UNDEFINED没有什么意义,从来不会故意给一个变量声明为UNDEFINED。TYPEOF除了上述几种数据类型,还能检测出FUNCTION,虽然FUNCTION本质上来说也是一种对象。
可以用Number() parseInt() parseFloat()进行类型转换。
ES中还有另外一种数据类型——引用类型
引用类型值指那些可能由多个值构成的对象,基本类型值是按值访问的,可以操纵保存在变量中的实际的值,而引用类型值是保存在内存中的对象,实际上是操作对象的引用,
2.Object类型有下列属性和方法
constructor:保存着用于创建当前对象的函数,new Object() 构造函数函数就是Object()
hasOwnProperty()用于检查给定的属性在当前对象实例中是否存在(注意不是在实例的原型中检测 )
isPrototypeOf()用于检查传入的对象是否是当前对象的原型
propertyIsEnumerable()用于检查当前属性能否用FOR-IN枚举
还有toString toLocaleString valueOf三个方法
3.函数
ECMAScript中所有的参数都是传值,不可能通过引用传递参数。就算是传引用类型也是按值传递。
函数没有重载,函数名字只属于后定义的函数。但由于参数数量本身就是不固定的,可以通过ARGUMENTS这个类似数组的对象来访问,因此可以实现类似重载的功能。
4.instanceof()函数,如果变量是给定引用类型,我们用typeof只能检查它是Object,但是我们想知道它到底是什类型的对象,就要用到instanceof函数,可以检查出来是Array还是RegExp等等
网友评论