javascript数据类型转换

parseFloat 转换成浮点数
parseInt 转换成整数.
这两个函数都有些容错性的,比如"123abc"会变成123.
如果楼主希望更准确一些,其实可以判断一下,然后用eval,像这样
不过也可以使用这样的方法:
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
1. var str = String(num); //使用构造函数
2. var str = num.toString(); //默认唯一参数为基数10

String -----> Number
1. var num = Number(str); //使用构造函数
2. var num = str * str; //自动转换
3. var num = str - 0; //但是+0则不行
4. var num = parseInt(str); //默认第二参数为基数10,以数字开头的字符均可提取数字,失败返回NaN
parseFloat(str); //上同

Boolean -----> Number、String
Number: true --> 1; false --> 0
String: true --> "true"; false --> "false"

Number、String -----> Boolean
Number: 0、NaN --> false; 其他数字 --> ture
String: 空值和未定义 --> false; 未空(对象、叔组、函数) --> ture

转换方式:
1. var bool = Boolean(x); //构造函数
2. var bool = !!x;


注意的地方:

1.undefined
未定义。
就是用var定义而未赋值 var x;
false = Boolean(x);
NaN = Number(x);
undefined = String(x);

2.变量作用域
没有块级作用域,只有函数级
不用var声明而直接使用的变量视为全局
当在同一作用域对同一变量进行第二次var声明时视为赋值

3.赋值
基本数据类型(数组、布尔、null,undefined)数据基本类型,为值传递
对象和函数则为地址传递

4.===
不但检测值,还检测类型
如:"1"==true : true
"1"===true : false

5.in
左边为一字符串,右边为一个对象或者数组,左边为右边的属性(方法)

6.instanceof
左边是右边的一个实例,左边为一个对象,右边为对象名

7.delete
删除对象的属性、数组元素或变量

8.void
舍弃运算数的值,然后返回undefined,可用以生成undifined

9.typeof

typeof null = object
typeof undefined = undefined
typeof function = function

10.toString()
类.toString() 为构造函数

11.valueOf()
把对象转化为一个基本类型,数字优先

12.equals
比较对象实例 a.compareTo(b) 方法可以认为为“-”号 返回 >0 <0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值