JavaScript高档程序设计,类型调换何奇之有方法小
分类:pc28.am

2.7 类型调换 1、转换到字符串 全部指标都有toString()方法能够调换到字符串,要留意的是Number类型的toString()方法,它有三种方式,即暗中认可格局和基格局,选拔暗许方式toString()方法只是用相应的字符串输出对应的10进制数字值,用基情势能够用分裂的基输出数字。示例: 复制代码 代码如下: var iNum1=10; var iNum2=10.0; var iNum3=10; alert; //outpus "10" alert; //outpus "10" alert; //outpus "1010" alert; //outpus "12" alert; //outpus "A" 2、转变来数字 ECMAScript提供了二种把非数字的原始值转换来数字的方法:parseInt,需求在乎的是parseInt()是各个字符转变的,直到非数字字符截至。示例程序如下: 复制代码 代码如下: var iNum1=parseInt; //returns 1234 var iNum2=parseInt; //returns 10 var iNum3=parseInt; //returns 22 var iNum4=parseInt; //returns NaN parseInt()方法还只怕有基方式,能够把二进制,八进制,十四进制或任何任何进制的字符串转换来整数。基是由parseInt()第三个参数内定的,示举例下: 复制代码 代码如下: var iNum1=parseInt; //returns 175 var iNum2=parseInt; //returns 2 var iNum3=parseInt; //returns 8 var iNum4=parseInt; //returns 10 //注意:若是十进制数有前导0要用基数形式 var iNum5=parseInt; //returns 8 var iNum6=parseInt; //returns 8 var iNum7=parseInt; //returns 10 paraseFloat大致相近,示例: 复制代码 代码如下: var fNum1=paraseFloat; //returns 1234.0 var fNum2=paraseFloat; //returns NaN var fNum3=paraseFloat; //returns 22.5 var fNum4=paraseFloat; //returns 22.34 var fNum5=paraseFloat; //returns 908 var fNum6=paraseFloat; //returns NaN 3、强制类型转变ECMAScript中可用的强制类型调换如下: Boolean——把给定的值转变到Boolean型 Number——把给定的值转变到数字 String——把给定的值转变到字符串 示例: 复制代码 代码如下: var b1=Boolean; //false - empty string var b2=Boolean; //true - not empty string var b3=Boolean; //true - not zero number var b4=Boolean; //false - null var b5=Boolean; //false - zero var b6=Boolean; //true object var i1=Number; //0 var i2=Number; //1 var i3=Number; //NaN var i4=Number; //0 var f5=Number; //5.5 var i6=Number; //56 var i7=Number; //NaN var i8=Number; //NaN var i9=Number; //100 我:天行健,废食忘寝

大器晚成、类型转变
1.调换来字串

ECMAScript的Boolean值、数字和字串的原始值的有意思之处在于它们是伪对象,那意味它们其实具备属性和措施。
如:

Js代码

复制代码 代码如下:

var sColor = "blue";
alert(sColor.length);//outputs "4"
var sColor = "blue";
alert(sColor.length);//outputs "4"

综上说述,3种重大的原始值Boolean值、数字和字串都有toString()方法。ECMAScript定义的兼具指标皆有toString()方法,无论它是伪对象,依旧确实对象。

Boolean型的toString()方法只是出口"true"或"false",结果由变量的值决定:

Js代码

复制代码 代码如下:

var bFound = false;
alert(bFound.toString());//outputs "false"
var bFound = false;
alert(bFound.toString());//outputs "false"

Number类型的toString()方法比较优质,它有三种情势,即暗中同意形式和基情势,采取暗许情势,toString()方法只是用相应的字符串输出数字值(无论是整数、浮点数还是科学记数法)。
Js代码

复制代码 代码如下:

var iNum1 = 10;
var fNum2 = 10.0;
alert(iNum1.toString()); //outputs "10"
alert(fNum2.toString()); //outputs "10"
var iNum1 = 10;
var fNum2 = 10.0;
alert(iNum1.toString()); //outputs "10"
alert(fNum2.toString()); //outputs "10"

使用Number类型的toString()方法的基形式,能够用分裂的基(进制基数)输出数字。
Js代码

复制代码 代码如下:

var iNum = 10;
alert(iNum.toString(2)); //outputs "1010"
alert(iNum.toString(8)); //outputs "12"
alert(iNum.toString(16)); //outputs "A"
var iNum = 10;
alert(iNum.toString(2)); //outputs "1010"
alert(iNum.toString(8)); //outputs "12"
alert(iNum.toString(16)); //outputs "A"

2.转换成数字
ECMAScript提供了三种把非数字的原始值调换到数字的方法,即parseInt()和parseFloat()。
瞩目:唯有对String类型(Number除此而外)调用那一个艺术,才干精确运转对其余品种重临的都以NaN。

例如:
Js代码

复制代码 代码如下:

var iNum1 = parseInt("1234blue");//returns 1234
var iNum2 = parseInt("oxA"); //returns 10
var iNum3 = parseInt("22.5"); //returns 22
var iNum4 = parseInt("blue"); //returns NaN
var iNum1 = parseInt("1234blue");//returns 1234
var iNum2 = parseInt("oxA"); //returns 10
var iNum3 = parseInt("22.5"); //returns 22
var iNum4 = parseInt("blue"); //returns NaN

parseInt()方法还大概有基情势,能够把二进制、八进制、十一进制只怕其余任何进制的字符串转变成十进制整数。第叁个参数钦命按哪生龙活虎种进制来深入分析。
Js代码

复制代码 代码如下:

var iNum1 = parseInt("AF",16);// returns 175
var iNum2 = parseInt("10",2); // returns 2
var iNum3 = parseInt("10",8); //returns 8
var iNum4 = parseInt("10",10); //returns 10
var iNum1 = parseInt("AF",16);// returns 175
var iNum2 = parseInt("10",2); // returns 2
var iNum3 = parseInt("10",8); //returns 8
var iNum4 = parseInt("10",10); //returns 10

表达:假如十进制数包蕴前导0,那么最棒使用基数10,不然获得的是八进制的值。
Js代码

复制代码 代码如下:

var iNum1 = parseInt("010"); // returns 8
var iNum2 = parseInt("010",8); //returns 8
var iNum3 = parseInt("010",10);//returns 10
var iNum1 = parseInt("010"); // returns 8
var iNum2 = parseInt("010",8); //returns 8
var iNum3 = parseInt("010",10);//returns 10

parseFloat()方法与parseInt()方法的管理方式近似,从地方0初叶查看各类字符,直到找到第1个非有效的字符甘休,然后把该字符此前的字串调换到数字。对于这些点子来讲,第多少个冒出的小数点是立见成效字符。要是用多个小数点,第1个小数点将被看做无效的。使用该措施的另贰个分裂之处在于,字串必得以十进制情势表示浮点数。

Js代码

复制代码 代码如下:

var fNum1 = parseFloat("1234blue"); //returns 1234.0
var fNum2 = parseFloat("0xA"); //returns NaN
var fNum3 = parseFloat("22.5"); //returns 22.5
var fNum4 = parseFloat("22.34.5");//returns 22.34
var fNum5 = parseFloat("0908");//returns NaN
var fNum6 = parseFloat("blue");//returns NaN
var fNum1 = parseFloat("1234blue"); //returns 1234.0
var fNum2 = parseFloat("0xA"); //returns NaN
var fNum3 = parseFloat("22.5"); //returns 22.5
var fNum4 = parseFloat("22.34.5");//returns 22.34
var fNum5 = parseFloat("0908");//returns NaN
var fNum6 = parseFloat("blue");//returns NaN

3.威胁类型转变 ECMAScript中可用的3种强制类型转变如下:
(1).Boolean(value)
把给定的值转换到Boolean型。
当要改变的值是至稀有叁个字符的字符串、非0数字或对象时,Boolean()函数将回到true。假使该值是空字符串、数字0、undefined或null,它将重返false。
如:
Js代码

复制代码 代码如下:

var b1 = Boolean(""); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null);//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true
var b1 = Boolean(""); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null);//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true

(2).Number(value)
把给定的值调换到数字(能够是整数或浮点数卡塔尔。
还记得parseInt()和parseFloat()方法只转变第三个不算字符以前的字符串,因而"4.5.6"将被更改为"4.5"。用 Number()实行强制类型转变,"4.5.6"将赶回NaN,因为任何字符串值不可能转变到数字。如若字符串能被全体地转移,Number()将剖断是调用parseInt()方法还是调用parseFloat()方法。
如:
Js代码

复制代码 代码如下:

Number(false);//0
Number(true);//1
Number(undefined);//NaN
Number(null);//0
Number("5.5");//5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object());//NaN
Number(100);//100
Number(false);//0
Number(true);//1
Number(undefined);//NaN
Number(null);//0
Number("5.5");//5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object());//NaN
Number(100);//100

(3).String(value)
把给定的值转变来字串。
与调用toString()方法的独一不相同之处在于,对null或undefined值强制类型转变能够生成字符串而不抓住错误:
Js代码

复制代码 代码如下:

var s1 = String(null);//"null"
var oNull = null;
var s2 = oNull.toString();//causes an error

1.调换到字串 ECMAScript的Boolean值、数字和字串的原始值的有趣之处在于它们是伪对象,那代表它们其实具备属性和格局。...

本文由pc28.am发布于pc28.am,转载请注明出处:JavaScript高档程序设计,类型调换何奇之有方法小

上一篇:ECMAScript中的运算符 下一篇:没有了
猜你喜欢
热门排行
精彩图文