可以看到js.constructor返回的是一些字符串,大家都应该能看到这是一个function类型,此例为number()为number对象的构造函数,number()用于将其参数转换为数字number类型,并返回转换结果(若不能转换则返回 nan)。typeof:javascript一元操作符,用于以字符串的形式返回变量的原始类型,注意,typeof null也会返回object,大多数的对象类型(数组array、时间date等)也会返回object。返回结果为tuple. 在python3中结果为byte类型,要得到str类型需要decode转换一下。
js typeof返回类型有六种:
number,boolean,string,function,object,undefined。原始类型:number、string、boolean、null、undefined、symbol(es6加入,它的实例唯一,且不可改变,不能使用关键“new”声明)。number,boolean,string,function(函数),object(null,数组,对象),undefined。
注意:没有数组array,若为数组则返回object。
js的强制类型转换
js提供了parseInt()和parseFloat()两个转换函数。js typeof boolean前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
parseInt()
parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:
parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:
parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
parseFloat()
使用parsefloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,而不能用八进制形式或十六进制形式。使用parsefloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parsefloat()没有基模式。施用parsefloat()方法的另一不同之处在于,字符串必需以十进制形式表示浮点数,parsefloat()没有基模式。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-94944-1.html