这是我参与更文挑战的第9天,活动详情查看: 更文挑战
我们这里主要分为两块:
1. 函数的定义与调用
2. 变量的作用域
函数的定义与调用
在JS中自定义函数需要使用function关键字,具体格式如下:
function 函数名(参数1,参数2......){
函数体
}
函数定义时根据参数不同可以分为无参函数和有参函数。
下面咱们来看一下几种情况的具体例子
<script>
//无参函数,适用于不需要提供任何参数便能够完成指定功能。
function Print(){
console.log("我是无参函数");
}
//有参函数,需要传递参数,来完成相应功能。
function add(a,b){
return a+b;
}
//开发时不能确定参数个数,此时可以不设置形参,在函数体中通过使用arguments对象来获取调用的实参
function fun(){
console.log(arguments.length);
console.log(arguments);
}
Print();
add(1,3);
var arr = [1,2,3];
fun(arr);
</script>
对于函数参数的设置还有含默认值的参数和剩余参数
//调用者只传入一个参数时,say为默认值
function greet(name,say = 'Hi,Y\'m'){
console.log(say+name);
}
//不确定传入多少参数时,也可以使用"...变量名"来动态接收用户传递的不确定数量的实参
function test(...num){
console.log(num);
}
变量的作用域
JS中变量分为三种,分别是:
全局变量:不在任何函数内声明的变量(显示声明),或在函数内省略var关键字
声明的变量(隐式声明)
局部变量:在函数体内使用var关键字定义的变量,仅在函数体内有效
块级变量:使用let关键字声明的变量,仅在{}内有效,比如if,for,while中。
下面我们来看例子一起学习:
<script>
var a = 5;//全部变量
function test(){
var b = 0;//局部变量
}
for(let i=0;i<3;i++){//块级变量
console.log(i);
}
</script>
以上就是JS函数的一些入门,下期我们来讲函数中的匿名函数和函数嵌套与作用链。