JavaScript强制类型转换和隐式类型转换操作示例

  

本文实例讲述了JavaScript强制类型转换和隐式类型转换。分享给大家供大家参考,具体如下:

  

在JavaScript中声明变量不需指定类型,对变量赋值也没有类型检查,同时JavaScript允许隐式类型转换。这些特征说明JavaScript属于弱类型的语言。

  

<强>(1)。转换为字符串

  

转换为字符串是应用程序中的常见操作,javascript提供了toString方法。多数的javascript宿主环境(比如节点。js和Chrome)都提供了全局函数toString;与此同时Object.prototype也定义了toString方法,使得所有对象都拥有转换为字符串的能力。

  

例如将一个数字转换为字符串:

        var n=1;   n.toString ();//' 1 '      之前      

toString接受一个参数指定进制,默认为10。可以利用这个参数生成包括字母和数字的随机字符串。”

        math . random () .toString (36) .substr (2);      之前      

“随机生成一个0到1的随机数,36进制的字符集为[0-9a-z](36个),字符串的子串的用来截掉起始的“0。”。另外“Object.prototype.toString”可以用来检测JavaScript对象的类型:

        var toString=Object.prototype.toString;   toString。调用(新日期);//日期(对象)   toString。调用(新的字符串);//对象(字符串)   toString.call(数学);//(对象数学)   自于JavaScript 1.8.5//toString.call(定义);//(对象定义)   toString.call(空);//(对象为空)//自定义类型   toString。调用(新MyClass);//对象(对象)      之前      

<强>转换为数字

  

在JavaScript中可以直接用方法和parseFloat。例如:

        var iNum1=方法(“红”);//返回南   var fNum4=parseFloat (“11.22.44”);//返回11.22      之前      

<强>强制类型转换

  

强制类型转换在c++中有两种方式:用括号将类型声明在变量之前,或者调用构造函数。在JavaScript中没有类型关键字(只有一个var来声明变量),因而只能调用构造函数:

        布尔(0)//=比;错:零   布尔(新对象())//=比;真的——对象   号(定义)//=比;南   号(null)//=比;0   字符串(null)//=比;“零”      之前      

<>强隐式类型转换

  

隐式类型转换是最为隐蔽的地方,不加注意的话很容易在这一点上出的错,对这一点的掌握也体现了JavaScript程序员经验。JavaScript会自动转换表达式中对象的类型以完成表达式求值。

  

<强>(1)四则运算

  

加法运算符+是双目运算符,只要其中一个是字符串类型,表达式的值便是一个字符串。

  

对于其他的四则运算,只有其中一个是数字类型,表达式的值便是一个数字。

  

对于非法字符的情况通常会返回南:

  

' 1 ' * ' a '//=比;奶奶,这是因为方法(a)值为南,1 *南还是南

  

<强>(2)判断语句

  

判断语句中的判断条件需要是布尔类型,所以条件表达式会被隐式转换为布尔值。其转换规则同布尔的构造函数。

        var obj={};   如果(obj) {   而(obj);   }      之前      

<强>(3)原生代码调用* *

  

JavaScript宿主环境都会提供大量的对象,它们往往不少通过JavaScript来实现的。JavaScript给这些函数传入的参数也会进行隐式转换,例如BOM提供的警报方法接受字符串类型的参数:

        警报({:1});//=比;(对象对象)      之前      

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript面向对象入门教程》、《JavaScript常用函数技巧汇总》、《JavaScript错误与调试技巧总结》,《JavaScript数据结构与算法技巧总结》,《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

  

希望本文所述对大家JavaScript程序设计有所帮助。

JavaScript强制类型转换和隐式类型转换操作示例