JavaScript的数据类型和类型转换

number(数据类型):

整型 var a = 1;
浮点数 var b = 1.1;
八进制 var c=010;
十六进制 var d=0xa;
科学计数法 var e=1.23E12;
无穷大或无穷小 Infinity
NaN not a number(非数值) > 判断是不是数字可用 isNaN(a),里面的a则是需要判断的,当a不是数字时返回结果为true,否则为fasle

string和String和toString()方法

用英文双引号或单引号包围起来的内容称为字符串,如"123",‘1234’

    var num1=123;
    var str1='123';
    var str2='abcd123'; 
    var str3="我是字符串";
    var str4='@#$%^&*()asds';
    var str5='alksjh";';

**注意:**字符串是不可以书写回车键的,否则会出现错误,如果想要显示出引号,可以用转义字符 \

    var str7="ash'asd'f\"as";
    console.log(str7);
String和toString()方法

String和toString()方法都可以将其他数据类型转换为字符串类型,两种转换方法的去呗在于null和undefined没有toString()方法,toString()属于对象的方法,通过"对象.toString()“调用。
String
1、字符串转字符串:原样
2、数字转字符串:前后加”“号
3、布尔值转字符串:前后加”“号
4、null转字符串:前后加”“号
5、undefined转字符串:前后加”“号
6、对象转字符串:直接转为’[object Object]‘,空数组转换为空字符串,非空将[]转换为”"。

    console.log(String("abc123"));//'abc123'
    console.log(String(123));//'123'
    console.log(String(-123));//'-123'
    console.log(String(-1.23));//'-1.23'
    console.log(String(Infinity));//'Infinity'
    console.log(String(NaN));//'NaN'
    console.log(String(0xa));//'10'
    console.log(String(true));//'true'
    console.log(String(false));//'false'
    console.log(String(null));//'null'
    console.log(String(undefined));//'undefined'
    console.log(String({}));//‘[object Object]’这个是个对象(广义),是对象类型的
    console.log(String({name:"lucy"}));//'[object Object]'
    console.log(String([]));//‘’空字符串
    console.log(String([1,2,34]));//'1,2,34'

toString()

boolean (布尔值)与Boolean()方法


    console.log("abc123".toString());//'abc123'
    console.log((123).toString());//'123'
    console.log((-123).toString());//'-123'
    console.log((-1.23).toString());//'-1.23'
    console.log(Infinity.toString());//'Infinity'
    console.log(NaN.toString());//'NaN'
    console.log(0xa.toString());//'10'
    console.log(true.toString());//'true'
    console.log(false.toString());//'false'
    // console.log(null.toString());//'null'
    // console.log(undefined.toString());//'undefined'
    console.log({}.toString());//‘[object Object]’这个是个对象(广义),是对象类型的
    console.log({name:"lucy"}.toString());//'[object Object]'
    console.log([].toString());//‘’空字符串
    console.log([1,2,34].toString());//'1,2,34'
boolean

boolean 只有两个两种类型,true和false,常用与if语句中,if只看小括号返回的是true还是false, 如果是true则执行if的语句 否则不执行或者是执行else的语句

   if (true){
        alert("真")
    }

    if (false){
        alert("真")
    }else{
        alert("假");
    }

if能接受的只能是true或者是false,我们获取的标签在js中是一个objcet对象,如果没有获取到的话,那么是一个空对象,在判断条件中会对我们传入的值进行一个转换,转换成布尔值,空对象指针null转换成布尔值是false,而其他所有对象转化成布尔值都是true

    if ({}){
        alert("zhen")
    }
    if (box){
        alert("有box")
    }else{
        alert("没有box");
    }

数字转换成布尔值的规则是:非0为true,0为false,Infinity为true,NaN为false

   if (NaN){
        console.log("真");
    }

字符串转化成布尔值的规则是:非空为true,空为false

    if (str1){
        alert("真");
    }

undefined转换成布尔值是fasle

   if (a){
        alert(1);
    }else{
        alert(2);
    }
Boolean()

Boolean()方法可以将其他的数据类型强转为布尔值类型

    console.log(Boolean(123));//true
    console.log(Boolean(""));//false
    console.log(Boolean("123"));//true
    console.log(Boolean(true));//true
    console.log(Boolean(null));//false
    console.log(Boolean(undefined));//false
    console.log(Boolean({}));//true
    console.log(Boolean({"name":"lily"}));//true
    console.log(Boolean([]));//true
    console.log(Boolean([1,2,34]));//true

关于null和undefined的详细应用场景请参考本人的另一篇文章null和undefined的区别和应用场景

null(空对象)

原型链顶端
给一个暂时不用的变量一个null
调用函数的时候,不传递参数,可以传入null

undefined (未定义,找不到值)

声明变量 没有赋值
函数没有返回值
调用函数的时候没有传入参数
对象的属性没有的时候

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值