数据类型之基本数据类型

数据类型

  • 变量的数据类型

    变量的是用来储存值的所在处,他们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位储存到计算机的内存中,JavaScript是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定:

    var age = 10 ; //这是一个数字型
    var areYouOk = '是的' ; //这是一个字符串
    

    在代码运行时,变量的数据类型是由js引擎根据【等号】右边变量值的数据类型来判断的,运行完毕之后,变量就确定了数据类型。JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型:

    var x = 6 ;   //x为数字
    var x = "Bill";//x为字符串
    

数据类型的分类:

js把数据类型分为两类:

  1. 简单数据类型(Number,String,BOOlean,Undefined,Null)
  2. 复杂数据类型(object)

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

简单数据类型说明默认值
Number数字型,包含整型值和浮点型值,如21、0.210
BOOlean布尔值类型,如true、False,等价于1和0false
String字符串类型,如“张三”注意:js里面字符串都带引号“”
Undefinedvar a;声明了变量a但是没有给值,此时a=undefinedundefined
Nullvar a = null;声明了变量a为空值null
  • 数字型Number

    JavaScript 数字类型既可以保存整数,也可以保存小数(浮点数)。

    var age = 21 ;       	  //整数
    var age = 21.3741 ;       //小数
    
    1. 数字型进制

      最常见的进制有二进制、八进制、十进制、十六进制。

      // 1.八进制数字序列范围:0~7
      var num1 = 07;		//对应十进制的7
      var num2 = 019;		//对应十进制的19
      var num3 = 08;		//对应十进制的8
      // 2.十六进制数字序列范围:0~9以及A~F
      var num = 0xA;
      

      PS:八进制前面加0,十六进制前面加0x

    2. 数字型范围

      JavaScript中数值的最大和最小值

      • 最大值:Number.MAX_VALUE,这个值为:1.7976931348623157e+308
      • 最小值:Number.MIN_VALUE,这个值为: 5e-32
    3. 数字型三个特殊值

      • infinity,代表无穷大,大于任何数值
      • -infinity,代表无穷小,小于任何数值
      • NaN,Not a number,代表一个非数值
    4. isNaN:用来判断一个变量是否为非数字的类型,返回true或者false

    var usrAge = 21;
    var isok = isNaN(userAge);
    console.log(isNum);    //false , 21 不是一个非数字
    var usrName = "andy";
    console.log(isNaN(userName));	// true , "andy"是一个非数字
    
  • 字符串类型

    字符串型可以使引号中的任意文本,其语法为“双引号” ( “ ” )和单引号( ’ ‘ )

    var strMsg ="我爱北京~"; //使用双引号表示字符串
    var strMsg2 ='我爱吃炒酸奶~';   //使用单引号表示字符串
    //常见错误
    var strMsg3 =我爱玩游戏;   //报错,没使用引号,会被认为是js代码,但js没有这些语法
    

    PS:因为HTML标签里面的属性使用的是双引号,所以js我们更推荐使用单引号

    1. 字符串引号嵌套

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

      var strMsg ='我是"高帅富"程序猿';//可以用’'包含""
      var strMsg2 ="我是'高帅富'程序猿";//也可以用""包含''
      //常见错误
      var badQuotes = 'what on earth?"; //报错,不能单双引号搭配
      
    2. 字符串转义符

      类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。

      转义符都是 \ 开头的,常用的转义符及其说明如下:

      转义符解释说明
      \n换行符,n 是 newline 的意思
      \ \斜杠 \
      ’ 单引号
      ”双引号
      \ttab 缩进
      \b空格,b 是 blank 的意思
    3. 字符串长度

      字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度。

      var strMsg ="我是帅气多金的程序猿!";
      alert(strMsg.length); //显示11
      
    4. 字符串拼接

      • 多个字符串之间可以使用+进行拼接,其拼接方式为字符串+任何类型=拼接之后的新字符串
      • 拼接前会把与字符串相加的任何类型转成字符串,在拼接成一个新的字符串
      //1.1 字符串"相加"
      alert('he1lo' + ''+ 'wor1d'); // he1lo wor1d
      //1.2数值字符串"相加"
      alert('100'+ '100');// 100100
      //1.3数值字符串+数值
      alert('11'+12); //1112
      

      +号总结口诀:数值相加,字符相连

    5. 字符串拼接加强

 console.log('老师'+18);//只要有字符就会相连
 var age = 18;
 console.log('老师age岁啦');//这样不行哦
 console.log('老师’+age);// pink老师18
 console.log('老师' + age + '岁啦');// pink老师18岁啦

1.经常会将字符串和变量来拼接,变量可以很方便地修改里面的值

2.变量是不能添加引号的,因为加引号的变量会变成字符串

如果变量两侧都有字符串打的拼接,口诀“引引加加”,删掉数字,变量写中间

  • 布尔型Boolean

    布尔类型有两个值:true和false,其中true表示真(对),而false表示假(错)

    布尔类型和数字型相加的时候true的值为1,false的值为0

    console.1og(true + 1);		// 2
    console.log(false + 1);		// 1
    
  • Undefined和Null

    一个声明后没有被赋值的变量会有一个默认值undefined(如果进项相连或者相加时,注意结果)

    var variable;	
    console.log(variable);				// undefined
    console.log('你好'+ variable);	//你好undefined
    console.log(11 + variable);		//NaN
    console.log(true + variable);	//NaN
    

    PS:一个声明变量给null值,里面存的值为空

    var vari = nu11;
    console.log('你好'+vari);			//你好nu11
    console.log(11 + vari);			// 11
    console.log(true + vari);		//1
    

获取变量数据类型

  • 获取检测变量的数据类型(typeof)

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

    var num = 18 ;
    console.log(typeof num)    //结果 number
    
  • 不同类型的返回值

    类型结果
    stringtypeof“小白”“string”
    Numbertypeof 18“number”
    Booleantypeof true“boolean”
    Undefinedtypeof undefined“undefined”
    Nulltypeof null“object”
  • 字面量

    字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。

    1. 数字字面量:8,9,10
    2. 字符串字面量:’黑马程序员‘,“前端”
    3. 布尔字面量:true,false

数据类型转换

  • 转换为字符串
方式说明案例
toString()转成字符串var num= 1;alert(num.toString());
string()[强制转换]转成字符串var num= 1;alert(String(num));
加号拼接字符串和字符串拼接的结果都是字符串var num= 1;alert(num+“我是字符串”);
  • 转换成数字型(重点)
方式说明案例
parseint(string)函数将string类型转成整数数值型parselnt(’78‘)
parseintFloat(string)函数将string类型转成浮点数数值型parselntFloat(’78.22‘)
Number()[强制转换函数]将string类型转成数值型Number(’18‘)
js隐式转换(- * /)利用算数运算隐式转换为数值型’19‘-0

注意parselnt和parseFloat单词的大小写,这2个是重点

隐式转换使我们在进行算数运算的时候,js自动转换了数据类型

  • 转换为布尔型
方式说明案例
Boolean()函数其他类型转成布尔值Boolean(’true‘)

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

其余值都会被转换为true

console.1og(Boolean(''));	//false
console.log(Boolean(0)); 	//false
console.log(Boolean(NaN)); 	//false
console.1og(Boolean(nu11)); 	//false
console.log(Boolean(undefined)); 	//false
console.log (Boolean('小白')); 	//true
console.log(Boolean(12)); //true
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页