Javascript 数据类型及其转换

数据类型:
数字型  number(整数,小数 正负数)
字符串 string ,使用引号‘’ 双引号“”或者反引号`包裹的都叫字符串
布尔型 boolean  只有两个值(true,false)
未定义型 undefined --只声明变量  不赋值的情况下 
null 空类型   赋值了  但是内容为空
JS是弱数据类型,;变量只有赋值后 才知道是哪种类型;

数据类型的检测:

typeof 关键词配和console.log使用

可以判断春这个值或者变量是个什么类型的

console.log(typeof 18) // number
      console.log(typeof 'ls') // string
      console.log(typeof true) // boolean
      let age
      console.log(typeof age) // undefined

数据类型的转换

1.隐形转换:某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

规则:+号两边只要有一个是字符串,都会把另一个转换成字符串

        除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型

技巧:+号作为正号解析可以转换成Number

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 基础 - 隐式转换</title>
</head>
<body>
  <script> 
    let num = 13; // 数值
    let num2 = '2'; // 字符串

    // 结果为 132
    // 原因是将数值 num 转换成了字符串,相当于 '13'
    // 然后 + 将两个字符串拼接到了一起
    console.log(num + num2);

    // 结果为 11
    // 原因是将字符串 num2 转换成了数值,相当于 2
    // 然后数值 13 减去 数值 2
    console.log(num - num2);

    let a = prompt('请输入一个数字');
    let b = prompt('请再输入一个数字');

    alert(a + b);
  </script>
</body>
</html>

       另外计算连写的话 字符串后面的都会看成字符串相加  字符串前面的有基础运算的话 先算        然 后再转换成字符串连写

 document.write('10'+10+'10'+10) //最后控制台输出的是 10101010
  document.write(10+10+'10'+10) //最后控制台输出的是 201010

2.显式转换:自己写代码告诉系统该转成什么类型

转换为数字型
使用 Number(数据)console.log(Number(值));
console.log(Number(数据))
script>
      // 转换为数字:只有两种结果 要么数字 要么NaN
      // let str = '1234' // 1234
      // let str = '1234abcd' // NaN Not a Number 它不是一个数字
      // console.log(Number(str))
      // let flag = true // 1
      // let flag = false
      // let age // undefined == NaN
      let age = null // 0
      console.log(Number(age))
    </script>
如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字

 parseInt  从一个字符串中提取整数 ,如果这个字符串第一个字符不是数字 直接得到NaN 如果第一个字符是数字 则遇到了非数字就停止提取

parseFloat 从一个字符串中提取整数和小数 ,如果这个字符串第一个字符不是数字 直接得到NaN 如果第一个字符是数字 则遇到了非数字就停止提取

String(数据)  直接将元素转换成字符串类型
console.log(String(值));或者 变量.toString(进制)  2种方法

Boolean型 --里面的数据为下方
字符串类型:空字符串会转成false 其他的都会被转换成true
数字类型:0与NaN会转换成 false  其他的都会被转换成true
undefined类型:会被转换成false
null 类型:会被转换成false 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值