今天我们把js中的函数function()函数简单介绍一下。
函数的作用是什么呢?
主要就是将我们写的代码封装在一起,方便我们后期的调用,比如一个for循环在执行完毕后,如果我们还想要它在后面也进行使用,我们总不能又写一遍吧?所以我们使用函数来方便我们。
函数的基本架构
function hanshu(a,b){
}
hanshu(A,B)
这就是一个基本的函数,但是我们要在小括号里传入参数
函数小括号里面的叫形参,调用函数小括号里面的是实参,当形参数大于实参时,传入的实参会依次按顺序填入。当形参数小于实参数时,多余的实参不会起效果
var aa= function (a,b){
}
aa(A,B)
这也是函数的一种写法(也叫匿名函数)
(function(){
}())
这一种叫做自调用函数,就是自己执行自己,不需要在外面调用。
讲完函数的基本结构,我们再来说一下函数的使用
//第一个参数输入执行的最大范围,第二个参数输入需要查寻的数字
function hanshu(a,b){
for(var i=0; i<a;i++){
if(i==b){
alert("数值"+b+"存在")
break
}
}
if(b>=a){
alert("该值不存在")
}
}
hanshu(10,10)
hanshu(10,8)
hanshu(10,10)
按以前我们没学函数之前来做,就是三次循环,这样代码太多,太冗杂。当我们使用函数后,只要我们调用一次,它就执行一次。
我们再来看看自调用函数的使用
(function(a,b){
for(var i=0; i<a;i++){
if(i==b){
alert("数值"+b+"存在")
break
}
}
if(b>=a){
alert("该值不存在")
}
}(10,5))
跟上面效果一样
讲完函数的基本使用,我们再来聊聊在函数中,我们碰见的函数提升(变量提升)
系统在加载一个js文件时,分为两个步骤:
第一步骤是读取js代码,将所有变量声明和函数声明提升到全局作用域的顶端,即所谓的变量提升和函数提升,划重点只是提升变量声明,并不将赋值初始化提升。
第二步骤是运行代码,从上至下运行。
console.log(a);//undefined
var a=100
console.log(a);//100
for(var i=1; i<10;i++){
if(k==i){
console.log("此时是循环执行的第"+i+"遍");
break
}
var k=2
}
当k为1时此代码不会有输出,但是在此代码执行时其样子为
for(var i=1; i<10;i++){
var k
if(k==i){
console.log("此时是循环执行的第"+i+"遍");
break
}
k=2
}
此时k的声明被提前,但是赋值的位置不变。