用其他语言带类更清楚。设置一个classa,创建一个对象varanewclassa(),它是classa的一个实例,如果有varbnewclassa(),那么b就是classa的另一个实例
然后在js中,new创建的所有东西都是引用类型的,比如varanewclassa(),ba,这样a和b实际上指向的是同一个对象,这里引用类型的值指的就是这个对象。
优点:可以简单检测引用类型,基本可以检测所有类型(除了null和undefined)。
缺点:只能检测基本类型(null),不能轻易跨iframeconstructor修改,也不能跨ifram
在js中,数字数据类型可能是最有趣的类型之一。
数字类型分为整数和浮点数。
整数,整数分为十进制,八进制和十六进制。
十进制是我们在生活中遇到的;八进制数的第一位必须为零(0),每一位必须在0到7之间;十六进制数的第一个数字必须是0x,数字必须是0到9、a到f或a到f,不区分大小写。
进行算术运算时,都会转换成十进制。
第二,浮点数是小数。浮点数占用的内存空间是整数的两倍。此外,在算术运算中,浮点数远不如整数精确。
第三,价值观的范围。
在js中,由于内存的限制,最小值是number。min_value,最大值为_value。超过最大值就用-infinity代替,超过最大值就用infinity代替。
您可以使用constant_infinity来访问负无穷大和数字。positive_infinity访问正无穷大。
四、南,非数值,它不等于任何值,包括你自己。isnan可以用来判断一个数是否为非数值。但需要注意的是,使用该函数时,会在后台调用方法尝试将参数转换为数值,可以在对象上调用该函数,在后台调用对象的valueof方法,然后判断返回值。
第五,数值转换,包括三个函数,numberparseintparseflow。
1,数字功能。此方法可以接收任何类型的值。
(1)布尔类型,转换为1,0。
(2)数字,未经转换(3)null转换为0
(4)undefined转换成nan。
(5)字符串,由十六进制转换为十进制。
空,转换为0
纯人物,南
对象,调用valueof。
2,parseint函数,专门用于转换字符串。忽略字符串前面的空格,直到遇到非空格,转换开始。当它遇到一个非数字时,它就结束。此外,它可以接收一个基数,该基数可以将字符串转换为指定的数字。比如收2,8,10,16。建议在任何情况下都指定基数。如parseint(#341234#34,16)。
和parseint最大的区别是,十六进制数总是会转换成0;