js中的变量
定义:
在计算机中当我们进行一些数学问题时,我们需要找容器来放数字,然后从容器中取出
值进行运算,在编程中这个容器,我们就称之为变量。
变量的组成:
变量名 = 变量值例如:var a = 110; 在数学中,= 叫等于符号 ,在编程中叫赋值符号。a叫变量名, 110叫变量值。复制代码
变量的定义与声明:
声明一个变量 var a; var就是专门用来声明变量定义一个变量 var b = 110; 在声明的同时,并赋值复制代码
注意如果仅仅是声明了一个变量,没有赋值,那么它有一个默认值,叫undefined
局部变量与全局变量:
全局指变量在函数内外都可以访问,而局部变量只能在函数内部访问,在JS中,全局变量和局部变量的分界点是函数。如下:
局部变量的生效范围是函数内,如下: 全局变量的生效范围是函数内,如下: 由此可见,全局变量是指在函数外面的变量,它的生效范围是函数内外局部变量是指在函数内的变量,它的生效范围是函数内。
声明方式var、let、const的区别:
-
加var的变量不足之处:
1 、 全局变量的提升,局部变量的提升(提升到函数体代码段的最前面);
2 、 同名变量,那么的变量会覆盖前面的变量;
3 、可以省去var
-
使用了let声明的变量时:
1 、那么这是没有提;
2 、可以防止重复声明;
3 、使用let可以形成一个块级作用域
-
const声明时:
1 、声明一个常量,没有提升;
2 、如果声明了一个常量,那么这个常量的值,你是不能随便改变
数据类型
在JS中,有五大基本数据类型,还有引用数据类型:
五大基本数据类型:
1 、 数值型(number)
2 、字符串(string)
3 、布尔型(boolean)
4 、 undefined
5 、null
引用类型:
- 对象(object)
(1)number
数值类型,作用是用来表示数字,如商品价格,年份,年龄....
可以通过typeof来查看一个变量的数据类型。如图:
(2)string
作用:用来描述字符串相关的数据,如姓名,密码,用户名,地址...
格式:”wangCai” ‘xiaoQiang’ 对于字符串,要使用引号包起来。
基本使用:
(3)boolean
它只有两个值,一个是true一个是false.
(4)undefined和null
undefined就是没有定义的意思,它是一个数据类型,也是一个值;
null是用来表示引用数据类型
在JS中有两个特殊的对象:
数组 array
函数function
常用运算符
- 三元运算符:? :
格式:表达式1 ? 表达式2 : 表达式3规则:如果表达式1的值为真,那么这个整体的结果就是表达式2,否则就是表达式3复制代码
-
字符串连接运算符 +
如图:
隐式转化(==)&绝对等于(===)
绝对等于:先判断类型,类型不致就是false 隐式转化:按理说不满足运算符的规则:运算符两侧的操作数的类型要一样 但是大多数据编程语言,都会把一侧的数据类型隐式的转成另一个数据类型 要么把1转成了"1" 要么把"1" 转成数字1如图: 复制代码
函数的使用
定义:
函数就是一个功能块,给一个输入,通过一个关系,会得到一个输出
在JS中,定义函数有三种方式:函数声明(函数定义),函数表达式,箭头函数
函数声明格式:
function 函数名(形式参数){具体功能}注意在使用时要先调用否则不会执行复制代码
函数返回值:
- 在JS中,如果一个函数没有指定返回值,那么这个函数返回undefined
- return只能返回一值,如果你要返回多值,请你把多个值放到一个容器(数组,对象)
- 在一个函数中遇到了reutrn语句,return语句后面的代码都不会执行
函数参数传递
-
函数声明处,写的参数是形参,形参可以当它当用函数体内部的局部变量,如下图
-
如果给一个函数传递了一个基本数据类型的数据,是把栈区中数据copy了一份赋了形参,值传递
- 如果给函数传递的数据是引用的数据类型,本质是传递是地址,也叫引用传递,如下图