JavaScript中数据类型转换

JavaScript是弱类型语言

1.声明变量时,不用规定变量的存储数据类型

2.赋值时,动态决定变量的数据类型,同一变量前后可以保存不同的数据类型

3.运算时,JavaScript会根据需要,动态地转换数据类型

隐式转换

无需程序员干预,JavaScript自动完成的类型转换

1.算术计算中,一切数据类型都隐式转换为number类型,在计算

2.+运算中,只要有一方是字符串类型,两个数据都转换为字符串类型,加运算变为字符串的拼接

例如:

var n1=2,n2=3;
var s1="2",s2="3";
var b1=true,b2=false;
document.write(n1+n2);//5
document.write(n1+s2);//"23"
document.write(b1+s2);//"true3"
document.write(s1-b1);//1
document.write(s2-n1);//1
表达式:由数据和运算符组成的一个公式,每个表达式默认都是从左向右,两两计算,每个表达式有且仅有一个运算结果

document.write(n2+s2+b1);//"33true"
document.write(n2+b1+s2);//"4"+"3"   "43"
document.write(s1+b1-n2);//NaN
NaN:Not a Number-->说明运算中包含了无法转为数字的值

不是数字的 数字

typeof(x):专门用来判断x的数据类型,返回数据类型名

typeof(NaN):number

注意:隐式转换仅影响表达式的运算结果,不影响变量中存储的实际值。

显式转换

程序员通过主动调用专门的函数,执行转换

1.任意类型转string类型:(2种)

var str=x.tostring();

var str=String(x);//隐式转换

javascript中,一切对象都有tostring方法

何时使用:程序在需要的时候,自动调用

**2.任意类型转为number类型:(2种)

任意类型转number:

var n=Number(x);//隐式转换:纯数字才可以转

**将字符串转为number:(2种)

parseInt()

var n=parseInt(str);

原理:从str开始位置逐个读取每个字符,知道碰到第一个不是数字的字符时,停止读取,自动忽略开头碰到的空格

比如:var width="12px";

          width+"2px"--->"12px2px";

         Number(width)+Number("2px")-->NaN

        parseInt(width)+parseInt("2px")-->parseInt("12px")+parseInt("2px")--->14

//          如何将12px+2px,在保存回width变量中,width中的值必须带单位
            width="12px";
            width=parseInt(width)+7+"px";
            document.write(width);

注意:var money="$400";  NaN

           var m="34.56";     34   paeseInt 不认小数点

parseIfloat()

var n=parsseFloat(str);

原理和parseInt完全一样,但是parseFloat,认第一个小数点;

例如 :parseFloat(“34.56”);34.56

           parseFloat(“34.56。78”);34.56

number()与parseInt(str)区别:

Number(“12px”)--->NaN

parseInt("12px")--->12

string to number ---->parseInt

Number(true)--->1

parseInt(true)--->parseInt(string(true))--->NaN

x  to number---->Number()

3.任意类型转Boolean:(1种)

var bool=Boolean(x);--->隐式转换

" " NaN undefined null 0---->false

这五个值会隐式转为Boolean类型false,其余都是true

4.number,string,boolean转化图

课外随笔:

输入框:var input=window.prompt("please input a text:");

*** 凡是从页面上获得的一切数据都是字符串类型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值