基础
什么是变量
是用于存放数据的容器
变量的使用
- 声明变量
var age;//声明一个名称为age的变量
- 赋值
age=10;
形参和实参
-
形参(形式参数)
只能等到函数被调用时接收传递进来的数据,形参是接受实参的,类似于一个变量 -
实参(实际参数)
函数被调用时传递的参数,实参是传递给形参的。
arguments的使用
当我们不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。
function fn() {
console.log(arguments);//里面存储了所有传过来的实参
console.log(arguments.length);
}
fn(1, 2, 3);
输出的是伪数组,并不是真正意义上的数组
- 具有数组的length属性
- 按照索引的方式进行存储的
- 没有真正数组的一些方法 pop() push()等等
函数的两种声明方式
//1.利用函数关键字自定义函数(命名函数)
function fn(){
}
fn();
//2.函数表达式(匿名函数)
var 变量名 = function(aru){
console.log('我是函数表达式');
console.log(aru);
}
fun('pink老师');
//(1)fun是变量名 不是函数名
//(2)函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值,而函数表达式里面存的是函数
//(3)函数表达式也可以进行传递参数
JavaScript作用域
- 全局作用域:整个script标签,或者是一个单独的js文件,在全局下都可以使用
var num = 10;
console.log(num);
function fn() {
var num = 20;
console.log(num);
}
fn();
- 局部作用域(函数作用域)在函数内部就是局部作用域,这个代码的名字只在函数内部起效果和作用(形参也算是局部变量)
全局变量和局部变量的区别
- 全局变量:在任何一个地方都可以使用,只有在浏览器关闭时才会被销毁,因此比较占内存
- 局部变量:只有函数内部使用,当其所在的代码块被执行时,会被初始化;当代码块运行结束时,就会被销毁,因此更节省空间