Js基础_数据类型


一、为什么需要数据类型

在计算机中不同的数据所占用的空间不同
为了便于把教据分成所需内存大小不同的数据
充分利用存储空间

数据类型就是数据的类别型号

变量是属于哪种数据类型?
答:不确定,JS属于弱类型的语言,不需要提前声明变量类型,在运行过程中类型会被自动确定

var num;//不确认类型
var num = 10;//num属于数字类型
var num = '112233';//num属于字符串类型
//JS的变量数据类型是只有在程序运行过程中,更具等号右边的值来确定的
//JS是动态语言 变量的数据类型是可以变化的
var x = 10;//x属于数字类型
x = '112233';//x属于字符串类型

二、简单数据类型(基本数据类型)

在这里插入图片描述

1.数字型

1.1.数字型进制

        var num = 10;
        // 八进制 数字前面加0o(octonary)表示八进制
        var num1 = 0o10;
        console.log(num1)
        // 十六进制 数字前面加0x(hexadecimal)表示八进制
        var num2 = 0xa;
        console.log(num2)
        // 8
        // 10

1.2.数字型范围

console.log(Number.MAX_VALUE);//1.7976931348623157e+308
console.log(Number.MIN_VALUE);//5e-324

1.3.数字型三个特殊值

console.log(Infinity);// 无穷大
console.log(-Infinity);// 无穷小
console.log(NaN);// 一个非数值
console.log('发财'-10086);//NaN

1.4.isNaN()方法的使用

// isNaN 这个方法用来判断是否为非数字 是为false 不是则返回true
console.log(isNaN(12));

2.字符串型 String

2.1.字符串型的规范

引号中的任意文本,如:单引号 ’ ’ 和双引号 " "

var Str1 = "Hello world";//双引号
var Str2 = 'Hello world';//单引号
var Str3 = Hello world;//报错

JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)

var Str1 = "Hello "world"";//报错
var Str2 = 'Hello 'world'';//报错
var Str3 = 'Hello "world"';//Hello "world"
var Str4 = "Hello 'world'";//Hello 'world'

2.2.字符串转义符

在这里插入图片描述

        var Str = '是发财不是\n旺财';
        console.log(Str)
        
        // 是发财不是
        // 旺财
2.2.1字符串案例
alert('酷热难耐,火辣的太阳底下,我挺拔的身姿,成为了最为独特的风景。' +
            '\n我审视四周,这里,是我的舞台,我就是天地间的王者。' +
            '\n这—刻,我豪气冲天,终于大喊一声:"收破烂啦~"')

在这里插入图片描述

2.3.字符串长度

let str ="12345678qwertyu"
        console.log(str.length)
        
        //15

2.4.字符串拼接

//只要字符串和其他类型的相拼接,最终结果都是字符串型
//数值相加,字符相连
        let str ="发财多大了?"
        let str1 = "发财21了"
        console.log(str+str1)//发财多大了?发财21了
        console.log(str+21)//发财多大了?21
        console.log(str+true)//发财多大了?tru
        console.log(12+12)//24
        console.log("12"+12)//1212
2.4.1案例

交互三要素
1.输入 2.程序处理 3.输出

let age = prompt('请输入您的年龄')//12
        var str = '您今年'+age+'岁了'
        alert(str)//

在这里插入图片描述

3.布尔型(Boolean)

3.1.布尔型的规范

布尔类型常用来进行判断
在参与运算时true当作1来看,false当作0来看
如果布尔类型的值为:0;-0;null;"";false;undefined;NaN 则返回false否则为true

       var bol = Boolean(0);
       console.log(bol)//fales

3.2.布尔型的运算与拼接

true参与运算当1来看
false参与运算当0来看

       let flag = true;// 布尔型 true参与运算当1来看
       var flag1 = false;// 布尔型 false参与运算当0来看
       console.log(flag+1)// 2
       console.log(flag1+1)// 1

4.未定义数据类型(undefined)

1.若声明的变量未赋值,就是undefined 未定义的数据类型
2.未知数据类型和字符串类型相加 结果返回字符串
3.未知数据类型和number类型相加 结果返回不是一个数字

       var str;
       console.log(str)//undefined
       var str1 = undefined;
       console.log(str1 +'是发财不是旺财')//undefined是发财不是旺财
       console.log(str1+1)//NaN 未知数据类型和number类型相加 结果返回不是一个数字

5.空值(null)

       //null 空值
       var str1 = null;
       console.log(str1 +'是发财不是旺财')//null是发财不是旺财
       console.log(str1+1)//1 空值和number类型相加 结果返回number数值

三、获取检测变量数据类型

typeof可用来获取检测变量的数据类型

       let num = 10;
       console.log(typeof num)//number
       let str = '是发财不是旺财';
       console.log(typeof str)//String
       let flag = true;
       console.log(typeof flag)//Boolean
       let let1 = undefined;
       console.log(typeof let1)//undefined
       let let2 = null;
       console.log(typeof let2)//object(对象)

       //prompt取的值为字符串类型
       let age = prompt('请输入您的年龄')
       console.log(typeof age)//String

四.数据类型的转换

转换为字符串类型
转换为数字类型
转换为布尔型

1.转换为字符串类型

在这里插入图片描述

       //1.变量.toString()
       let num = 10;
       let str = num.toString()
       console.log(str)//10
       console.log(typeof str)//string
        //2.String()
        console.log(String(num))//10
        console.log(typeof String(num))//string
        //3. +拼接字符串 (隐式转换)
        let str1 = num+''
        console.log(typeof str1)//string

2.转换为数字类型

在这里插入图片描述

        let age = prompt('请输入您的年龄')//21
        // 1.parseInt(变量) 可以把字符型转换为数值型 得到的是整数
        console.log(parseInt(age))//21
        console.log(typeof parseInt(age))//String
        console.log(parseInt('3.14'))//3 向下取整
        console.log(parseInt('3.94'))//3 向下取整
        console.log(parseInt('120px'))//120 会去除px单位
        console.log(parseInt('rem120px'))//NaN 不是一个数字

        // 2.parseFloat(变量) 得到的是小数
        console.log(parseFloat('3.14'))//3.14
        console.log(parseFloat('3.94'))//3.94
        console.log(parseFloat('120px'))//120 会去除px单位
        console.log(parseFloat('rem120px'))//NaN 不是一个数字

        //3.Number(变量)
        console.log(Number('123'))//123

        //4.隐式转换 利用算数运算 - * /
        console.log('12' - 0)//12
        console.log('12' - 10)//2

3.转换为布尔型

在这里插入图片描述

代表空,否定的值会被转换为false
如:’’,0,NaN,null,undefined

        console.log(Boolean(''))//false
        console.log(Boolean(0))//false
        console.log(Boolean(NaN))//false
        console.log(Boolean(null))//false
        console.log(Boolean(undefined))//false
        console.log('-------------------------------------')

        console.log(Boolean('123'))//true
        console.log(Boolean('是发财不是旺财'))//true
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是发财不是旺财

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值