• 变量是用于存放数据的容器,我们通过变量名获取数据,甚至数据可以修改
  • 本质:变量是程序在内存中申请的一块用来存放数据的空间

1.变量初始化

var是一个JS关键字,用来声明变量。使用该关键字声明变量后,计算机会自动为变量分配内存空间。

  1. //声明变量同时赋值为18
  2. var age = 18;
  3. //同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。
  4. var age = 18, address ='火影村',salary = 15000;

2.声明变量特殊情况

2.1.undefined

  1. //只声明,不赋值
  2. var age;
  3. console.log(age)

2.2报错

  1. //不声明 不赋值 直接使用
  2. console.log(age)

2.3不声明

  1. //不声明 只赋值
  2. age = 10;
  3. console.log(age);

3.变量的命名规范

1.由字母(A-Z,a-z),数字(0-9),下划线(_),美元符号($)组成,如:usrAge,num01,__name

2.严格区分大小写。 var app; 和 var App; 是两个变量

3.不能以数字开头。

4.不能是关键字,保留字。例如:var,for,while

5.遵循驼峰命名法。首字母小写,后面单词的首字母需要大写。myFirstName
[

](https://blog.csdn.net/Augenstern_QXL/article/details/119249534)

4.数据类型

JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。

  1. var age = 10; //这是一个数字型
  2. var areYouOk = 'hello world'; //这是一个字符串

变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定了数据类型。

  1. //JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型
  2. var x = 6; //x为数字
  3. var x = "hello world"; //x为字符串

JS 把数据类型分为两类:

  • 基本数据类型(Number,String,Boolean,Undefined,Null)
  • 复杂数据类型(Object)

4.1数字型Number

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

  1. var age = 12; //整数
  2. var Age = 21.3747; //小数

4.1.2数字型进制

在JS中八进制前面加0,十六进制前面加 0x

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

4.1.3数字型范围

  • JS中数值的最大值:Number.MAX_VALUE
  • JS中数值的最大值:Number.MIN_VALUE

    1. console.log(Number.MAX_VALUE);
    2. console.log(Number.MIN_VALUE);

    4.1.4数字型的三个特殊值

    1. alert(Infinity); //Infinity(无穷大)
    2. alert(-Infinity); //-Infinity(无穷小)
    3. alert(NaN); //NaN - Not a Number ,代表任何一个非数值
  • Infinity ,代表无穷大,大于任何数值

  • -Infinity ,代表无穷小,小于任何数值
  • Nan ,Not a Number,代表一个非数值

4.1.5isNaN

用来判断非数字,并且返回一个值,如果是数字返回的是false,如果不是数字返回的是true
image.png

  1. var age = 21;
  2. var isNotNum = isNaN(age)
  3. console.log(isNotNum); //false,不是一个非数字
  1. var userName = "andy";
  2. console.log(isNaN(userName));//true,"andy"是一个非数字

4.2字符串型String

字符串型可以是引号中的任意文本,其语法为 双引号单引号

  1. var strMsg = "我爱北京天安门~"; //使用双引号表示字符串
  2. var strMsg = '我爱北京'; //使用单引号表示字符串

因为 HTML 标签里面的属性使用的是双引号,JS 这里我们更推荐使用单引号

4.2.1字符串引号嵌套

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

  1. var msg1="'我爱中国'"
  2. var msg2='"统一台湾"'
  3. console.log(msg1)
  4. console.log(msg2)

4.2.2字符串转义符

类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。
转义符都是 \ 开头的,常用的转义符及其说明如下:

转义符 解释说明
\n 换行符,n是newline
\ \ 斜杠\
\ ’ ’ 单引号
\ ‘’ ‘’ 双引号
\ t tab 缩进
\ b 空格,b是blank的意思

4.2.3字符串长度

通过字符串的 length 属性可以获取整个字符串的长度。

  1. //通过字符串的length属性可以获取整个字符串的长度
  2. var msg1="'我爱中国'"
  3. console.log(msg1.length)

4.2.4字符串的拼接

字符串 + 任何类型 =拼接之后的新字符串

  1. console.log('hello'+' '+'world');//hello World
  2. console.log('100'+'100'); //100100
  3. console.log('100'+100); //100100
  4. console.log(100+100) //200
  1. var age = 18;
  2. console.log('我永远'+age+'岁');
  • 我们经常会将字符串和变量来拼接,因为变量可以很方便地修改里面的值
  • 变量是不能添加引号的,因为加引号的变量会变成字符串。

4.3布尔型Boolean

  • 布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
  • 布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。
    1. var flag=true
    2. console.log(flag+1) // 2 true当加法来看当1来看,flase当0来看

    4.4未定义undefined

    1. var str
    2. console.log(str); //undefined
    3. var variable = undefined;
    4. console.log(variable + 'world'); //undefinedworld
    5. console.log(variable + 18); //NaN
    1.undefined 和 字符串 相加,会拼接字符串
    2.undefined 和 数字相加,最后结果是NaN

4.5空值null

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

  1. var space = null;
  2. console.log(space + 'world'); //nullworld
  3. console.log(space + 1); // 1

4.6typeof

  1. var num=18
  2. console.log(typeof num) //number
  1. var str="hello"
  2. console.log(typeof str) //string
  1. var bool=false
  2. console.log(typeof bool) //boolean
  1. var undefined
  2. console.log(typeof undefined) //undefined
  1. var str=null
  2. console.log(typeof str) //object

4.7数据类型转换

我们通常会实现3种方式的转换:

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

4.7.1转换为字符串型

  1. var num=10
  2. console.log(typeof num) //number
  3. var str=num.toString()
  4. console.log(typeof str) //string
  1. var num=10
  2. console.log(typeof String(num))
  3. console.log(typeof num)
  • toString() 和 String() 使用方式不一样
  • 三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式,这一方式也称为隐式转换

4.7.2转换为数字型

  1. // 1.parseInt()
  2. consolo.log(parseInt('3.14')); //3取整
  3. consolo.log(parseInt('3.94')); //3,不会四舍五入
  4. consolo.log(parseInt('120px')); //120,会去掉单位
  5. // 2.parseFloat()
  6. console.log(parseFloat('3.14')); //3.14
  7. consolo.log(parseFloat('120px')); //120,会去掉单位
  8. //3利用Number(变量)
  9. var str ='123';
  10. console.log(Number(str));
  11. console.log(Number('12'));
  12. // 4.利用了算术运算 隐式转换
  13. //隐式转换是我们在进行算数运算的时候,JS自动转换了数据类型
  14. console.log('12'-0); // 12
  15. console.log('123' - '120'); //3
  16. console.log('123' - '120');// 123
  17. console.log(typeof ('123' * 1)); //number

4.7.3转换为布尔型

  1. console.log(Boolean('')) //false
  2. console.log(Boolean(0)) //false
  3. console.log(Boolean(NaN)) //false
  4. console.log(Boolean(null)) //false
  5. console.log(Boolean(undefined)) //false
  6. console.log(Boolean('0')) //true
  7. console.log(Boolean('null')) //true