首先我们可以看C中间的强制类型转换,只能存在整数可表示类型和浮点数类型之间,比如(int)2.45,这是可以的,但是他们和字符串之间都没有强制转换的可能,因为字符串实际是一个指针。因此不可能出现(char *)2.45就可以获得"2.45"这个字符串的情况,反之也不能。
而在C++中,我们可以创建一个类,并且重载强制转换操作,来完成这种情况,那么就必须要求有相应的对象,但是对于基本类型,这也是不可以的。
然后,因为JavaScript在对象模型上主要参考了Java,我们可以再参考一下Java的类型转换:
在Java中,基本类型之间的强制转换也不是这样的,比如,整数要转换成字符串,必须使用Integer.toString()静态方法或者String.valueOf()静态方法,把字符串转换为整数,必须使用Integer.valueOf()。
可见,不能把JavaScript中的类型转换看作为“强制类型转换”。
在JavaScript中,Double类型和Int类型都是看作为Number对象,因此无论是typeof 1还是typeof 1.0,都是返回number。这样我们可以不用去管是Int还是Double类型,让JavaScript解释引擎内部去处理。
1. 如果要把Number转换成String,可以使用Number的toString()方法,(象(1).toString()括号必须或者 1 .toString()空格必须,否则会编译出错,如果是变量则无需),或者调用String()函数,这两种方法都会自动调用解释引擎内部的 NumberToString(),或者根据进制调用其它函数,基本类似。
2.如果要把String转换成Number,可以使用Number ()函数,他会自动判断String中是整数还是浮点数,然后内部使用相应的数据类型,另外可以使用全局函数parseInt()和parseFloat (),他们根据你的要求进行转换。同样的,他们在解释引擎内部机制上是使用了 StringToNumber,StringToInt等等内部的函数。
3.而如果是Double转换成Int,必须使用Math.floor()函数(截尾取整)或者Math.round()(四舍五入)
4.Int转换成Double,无须考虑任何问题,直接把Int当成Double进行运算
5.字符转换为整数,如下,可以采用eval(String)的方法:
var a = "234" ;
a = a.replace(/(^[\\s]*)|([\\s]*$)/g, "");
if( a !="" && !isNaN( a ) )
{//如果是数字
a = eval( a )
}
else
{//如果不是数字
a = null
}
javascript有两种数据类型的转换方法:一种是将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换),另一种方法是从一个值中提取另一种类型的值,并完成转换工作。
基本数据类型转换的三种方法:
1.转换为字符型:String(); 例:String(678)的结果为"678"
2.转换为数值型:Number(); 例:Number("678")的结果为678
3.转换为布尔型:Boolean(); 例:Boolean("aaa")的结果为true
从一个值中提取另一种类型的值的方法:
1.提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123
2.提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55
3.执行用字符串表示的一段javascript代码:eval(); 例:zhang=eval("1+1")的结果zhang=2
注:Number、String函数是特殊的函数,在JS引擎中,他会自动判断是作为构造函数调用还是普通调用,所以既可以使用new关键字,也可以作为函数直接调用。
关于JS的参考手册,微软有一个CHM十分不错,指南、API参考都有,是Windows脚本技术,中文版,我在MSDN上下载的。而关于JS解释引擎的,我参考的是Netscape的Spidermonkey,现在由Mozilla组织维护。
分享到:
相关推荐
以下是对JavaScript中数据类型转换的详细说明: 1. `parseInt()` 函数:这个函数用于将字符串转化为整型。它会尝试解析字符串,从开头开始找到第一个数字,并将其转换为整数。如果字符串的第一位不是数字,`...
JavaScript类型转换是编程中非常重要的一个概念,它描述了在运算过程中,不同数据类型之间的自动或手动转换行为。JavaScript语言是动态类型的,这意味着你可以在运行时改变变量所存储值的类型,而这正是类型转换的...
这些类型之间可以进行转换,以下是 JavaScript 中最常用的数据类型转换方法。 一、转为字符串 在 JavaScript 中,可以使用两种方法将其他类型转换为字符串类型:toString() 方法和 String() 方法。 1. toString()...
JavaScript中的隐式类型转换是其弱类型特性的重要体现,它允许不同数据类型的值在运算时进行自动转换,但这也可能导致一些意料之外的结果。在JavaScript中,数据类型包括字符串(String)、数字(Number)、布尔(Boolean...
JavaScript中的类型转换是处理不同类型数据时需要进行的一种操作,它在编程中扮演着重要的角色。在JavaScript中,存在着多种类型,包括原始类型和对象类型。原始类型主要包括Number、String、Boolean、Undefined和...
javascript技巧,JavaScript中数据类型转换总结,轉載自腳本之家
在JavaScript中,对象转换成JSON(JavaScript Object Notation)是一种常见的数据交换格式,它轻量级、易读、易写,被广泛应用于Web应用程序之间传递数据。JSON格式是基于JavaScript的一个子集,但它并不是...
在JavaScript编程语言中,字符型数据(通常指字符串类型)转换为整型数据是一项常见的操作需求,尤其是在处理用户输入、解析数据或进行数值计算时。本文将深入探讨如何利用JavaScript来实现这一转换,并在此过程中...
在JavaScript中,类型转换是编程过程中非常重要的一个概念,尤其在涉及到操作符处理不同数据类型时。本篇文章将深入探讨JavaScript中的操作符类型转换,并通过示例进行详细解析。 1. **乘法操作符(*)** 当使用...
这种转换器的核心是SharpKit,一个高效且功能强大的编译工具,它允许开发者编写C#代码,然后在编译过程中自动将其转化为可以在浏览器环境中运行的JavaScript代码。 SharpKit的主要优点在于其编译时转换机制,这意味...
在JavaScript中,数据类型的转换是编程中不可或缺的一部分。在处理不同数据类型时,JavaScript会自动进行类型转换,以便于执行特定的操作。以下是关于JavaScript中数据类型转换的详细说明: 1. **原始数据类型转换*...
将JavaScript矢量类型与GLSL启发式转换相结合,可以提供一种高效、优化的方法来在Web浏览器中处理图形数据。 首先,理解JavaScript矢量类型是至关重要的。在数学中,向量是由大小(或模)和方向组成的量。在计算机...
在JavaScript中,我们可以通过`JSON.parse()`方法将JSON字符串转换为JavaScript对象: ```javascript var jsonString = '{"name":"John","age":30,"city":"New York"}'; var jsonObject = JSON.parse(jsonString); ...
javascript各种变量类型之间的转换
本资源主要包含JavaScript数据类型转换相关的示例代码 其中包含了将值转为数字类型、将值转为字符串类型、将值转为布尔类型三种情景的示例 以及特殊情况下转换的注意事项 JavaScript 是一种广泛使用的脚本语言,...
【温故而知新】JavaScript的类型转换机制
在JavaScript编程领域,实现一个重量转换器是一种常见的实践任务,它可以增强开发者对基本数据类型、单位转换以及用户交互的理解。这个重量转换器可以包括不同重量单位之间的转换,如克(g)、千克(kg)、吨(t)、...
类型转换是网页编程不可或缺的内容,本文先介绍自动类型转换,接着是强制性的显式类型转换,最后如何将基本数据类型提升为对象。 JavaScript的数据类型分为基本数据类型和复合数据类型。复合数据类型主要有对象、...
强制类型转换在JavaScript中是常见的,主要有三种主要的转换函数:`Boolean()`, `Number()`, 和 `String()`。 1. **Boolean(value)**: 这个函数将任何值转换为布尔类型(`true` 或 `false`)。通常,非零数字、非空...