011-015强制类型转换 进制 算术运算符

011-015强制类型转换 进制 算术运算符

一.强制类型转换

1.强制类型转换为String

方法一: toString()

  • 调用被转换数据类型的toString()方法
  • 该方法并不会影响到原变量的数据类型,它会将转换的结果返回,最好设置一个变量来接受这个结果
  • 若想要将原值的类型改变,可以使用
	var a = 123;
	a = a.toString();

但是要注意,null和undefined没有toString()方法
toString()方法适用于String Number Boolean

方法二: String()

  • 调用String()函数,并将被转换的数据作为参数传递给函数
	a = String(a)
  • 该方法Number和Boolean实际上就是调用toString()方法
    但是对于null和undefined,就不会调用toString()方法
    它会将 变量null,undefined 直接转换成 字符串“null”和“undefined”

注意

调用String函数:a = String(a);
调用toString方法:a = a.toString();

2.强制类型转换为Number

方法一:使用Number()函数

	var a = "123";
	a = Number(a);
  • 如果是纯数字字符串,直接转换为数字
  • 如果有非数字内容,就转换为NaN
  • 如果字符串是空字符串或者全部都是空格,则转换为数字0
  • true转为1;false转为0;
  • Null转为数字0
  • undefined转为NaN

方法二:专门用来将String类型转换为Number类型 parseInt(); parseFloat();

  • parseInt();把一个字符串转换为整数,将一个字符串中有效的整数内容取出来,从左往右一个一个读,只要读到不是数字时(小数点也不行),返回前面的值
  • parseInt也可以用于小数取整
  • parseFloat();把一个字符串转换成一个浮点数
  • parseFloat();作用与parseInt作用一样,但是其遇到的第一个小数点是有效的
	a = "123px";
	a = parseInt(a);
	//调用parseInt();将函数转换成Number,返回值为123

如果对非String使用parseInt();或者parseFloat();它会先将其转为String,然后再操作
如:a = true; a= parseInt(a);这样写后a先是转换为字符串 “true”,再把字符串转换为整数,NaN

3.将其他数据类型转化为Boolean

数字->布尔

  • 除了0和NaN,其他都是true(负数和infinity都是true

字符串->布尔

  • 除了空串,其余都是true(都是空格的字符串也是true,只有双引号里什么也没有,即空串,转为布尔值后为false

null->布尔

  • false

undefined->布尔

  • false

对象->布尔

  • true

二.进制

  • 十六进制数字以0x开头,会自动转换为十进制输出;如:
	0xff -> 255;
	0x10 -> 16;
  • 八进制数字以0开头,所以写数字时要注意不要以0开头
  • “080”用parseInt();转化,有些浏览器会当成八进制解析,有些会当成十进制解析,所以可以向parseInt();中传递第二个参数,来指定数字的进制,如
	a = parseInt(a,10);表示将a转换为十进制整数
  • 二进制数字以0b开头,但并不是所有浏览器都支持

三.运算符(操作符)

1.算数运算符:加+ 减- 乘* 除/ 取余%

加法

  • 对非Number值运算,会先将其转换为Number
  • 两个字符串相加,会将两个字符串拼成一个字符串,在写一些比较长的字符串的时候,可以使用加号进行拼串,使代码结构更好看
	a = "123"+"456"; 运算后a为“123456”
  • 任何值和字符串做加法运算,都会先将该值转换为字符串,再做拼串操作,如
	a = 123 + "1" ,a的结果为1231
  • 可以利用这一特点,将任意值转换为字符串类型,只需将该值加上一个空串,如
	var a = 123;
	a = a + "";
	//a是类型为String,值为 “123” 的字符串
  • 这是隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数

加法是 从左往右 进行运算的,如 a = 1 + 2 + “3”; 首先计算1+2,再把结果Number 3 加上 字符串 “3”,结果是字符串 “33”

取余

  • 取的是相除后的余数

注意

只有 加法 在任意值加上字符串时,会将该值转换为字符串;

其他运算都是将字符串转换为Number类型再进行计算,如 a = 100 - "1"最终a的值为Number 99 可以利用这一特性,可以通过 - 0 ; * 1; / 1将字符串隐式转换为Number(不是最简单方式)

任何数和NaN运算,结果都是NaN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值