js常用的数据类型

1.数据类型简介 

1.1 基本数据类型

基本数据类型有:Number (数字)、String(字符串)、Boolean(布尔值)、Undefined(未定义)、Null(空)

基本数据类型说明默认值
数值型(Number)数字型,包含整型值和小数点型值,如11,0.110
字符串(String)字符串类型,如“张三”" "
布尔值 (Boolean)布尔值类型,如true,false ,等价于1和0false
未定义 (Undefined)var a; 声明了变量a但是没有赋值,此时a=undefinedundefined(未定义的)
空值 (Null)var a = null;声明了变量a为空值null
1.2 数据类型的判断
  •  typeof 可用来获取检测变量的数据类型
  • 一般用来判断基本数据类型 不能判断引用数据类型  
<script>
    // 使用let关键字 定义字符串
    let str1 = "你好!";
    let str2 =  'aaa';
    console.log(typeof str1);
    console.log(typeof str2);

    // 定义整数
    let num1 = 111;
    let num2 = 111.11;//四舍五入,保留2位
    console.log(typeof num1);
    console.log(typeof num2);
    
    // 定义boolean类型
    let flag = true;
    console.log(typeof flag);
    
    // 未定义类型
    let a;
    console.log(typeof a); 
    
    // 引用数据类型
    let obj = new Object();
    console.log(typeof obj); 
    
</script>

结果如下:

​ 

2. 基本数据类型 

2.1 数值型(Number)
  • 该类型的表示方法有两种形式,第一种是整数,第二种为浮点数
2.2 字符串(String) 
  • 在JS中字符串需要使用引号引起来。
  • 使用双引号或单引号都行,但是不要混着用。
  • 引号不能嵌套,双引号不能放双引号,单引号不能放单引号 。
  • 字符串具有length长度,它可以返回字符串中字符的个数。
let str = 'hello world'
console.log(str.length);//空格也算一个长度。

结果如下:

  

2.3 布尔值 (Boolean) 
  • 布尔(逻辑)只能有两个值:true 或 false。
  • true:表示真, false:表示假。
  • 使用typeof检验一个布尔值时,会返回一个boolean。
2.4 未定义 (Undefined)
  • Undefined类型的值只有一个,就是Undefined(未定义)。
  • 当声明一个变量,但不给这个变量赋值时,它的值就是Undefined。
  • 使用typeof检查Undefined值时,也会返回一个Undefined。
2.5 空值 (Null) 
  • Null的值只有一个,就是null(空值)
  • null的这个值专门用来表示一个为空的对象
  • 使用typeof检测一个null值时,会返回一个object(对象)
    var a = null;
    console.log(typeof a);

结果如下:

3. 数据类型的转换 

1.转为字符串型
方式      说明 案例
toString()      转成字符串  var num =1; alert ( num.toString());
String()    强制转换 转成字符串   var num =1; alert ( String ( num ));
加号拼接字符串     和字符串拼接的结果都是字符串  var num =1; alert ( num +"我是字符串");

 toString()

 //toString():除了null和undefined之外的数据都可用toString转换
    //语法:值.toString()
    var num = 123;
    num.toString(); //'123';
    console.log(num);

    var str = true;
    str.toString(); // 'ture';
    console.log(str);

    //注意:null和undefined用toString转会报错

    var res = null;
    res.toString(); //Cannot read property , toString’of null
    console.log(res);

    var res2 = undefined;
    res2.toString(); //TypeError: Cannot read property " toString’of undefined
    console.log(res2);

String ()

   //String():可以将任意类型的数据转为字符型
    //语法:String(值)
    //返回值:转换的内容加引号

    var a = 123;
    console.log(typeof a); //number
    console.log(a);
    console.log(typeof String(a)); //string

    // 2. NaN
    var b = NaN;
    console.log(typeof b); //number
    console.log(typeof String(b)); //string

    // 3.null
    var c = null;
    console.log(typeof c); //objcet
    console.log(typeof String(c)); //string

    // 4.未定义类型的
    var d = undefined;
    console.log(typeof d); //undefined
    console.log(typeof String(d)); //string

    // 5.布尔值
    var e = true;
    console.log(typeof e); //Boolean
    console.log(typeof String(e)); //string

加号拼接字符串   

   //隐式转换
    //语法:值 + "";
    var a = 123; //'123'
    a = a + "";
    var b = null; //'null'
    b = b + "";
    var c = undefined; //'undefined'
    c = c + "";
    console.log(a);
    console.log(typeof a);//String
    console.log(null);
    console.log(typeof b);//String
    console.log(c);
    console.log(typeof c);//String
2.转数值型  

Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN

  • Undefined转number: 结果为NaN; 
    console.log(Number(undefined)); //NaN
    var a;
    console.log(Number(a)); //NaN
  • 空字符串 转 number 结果为0
console.log(Number(" ")); //0
  • 非空字符串 转 number 规则 如果字符串里 的内容全部是有效数字,那么就转成对应的有效数字,否则,转number后就是NaN. 
    var arr = "123";
    console.log(Number(arr)); //123

    var arr1 = "12.34";
    console.log(Number(arr1)); //12.34

    var arr2 = "12.34.56";
    console.log(Number(arr2)); //NaN

    var arr3 = "123bbb";
    console.log(Number(arr3)); //NaN

    var arr4 = "倒计时";
    console.log(Number(arr4)); //NaN
    //'注意:数字前面有零的就省率0'
    var arr5 = '012345';
    console.log(Number(arr5)); //012345  注意;如果前面有0的化就会默认隐藏掉 
  • null 转 number:
console.log(Number(null));//0
  • 布尔 转 number 结果:
    var a = Boolean(true);
    console.log(Number(a)); //1

    var b = Boolean(false);
    console.log(Number(b)); //0
3.转布尔类型

等于flase的:

null  undefined  ''"  0  NaN

    //等于flase的:
    //null undefined  ''  0 NaN
    // 1.null
    console.log(Boolean(null)); //false

    // // 2. 0
    console.log(Boolean(0)); //false

    // // 3.''
    console.log(Boolean("")); //false

    // // 4.undefined
    console.log(Boolean(undefined)); //false

    // // 5.NaN
    console.log(Boolean(NaN)); //false

等于ture的:数字 非空字符串 一个空对象 一个空数组

    var a = 123;
    console.log(Boolean(a)); //ture

    // // 2.非空字符串
    var b = "ajakdhjasfbdsi";
    console.log(Boolean(b)); //ture

    // // 3.空的一个对象
    var c = {};
    console.log(Boolean(c)); //ture

    // // 4.空数组
    var d = [];
    console.log(Boolean(d)); //ture



 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值