函数
-
对于JS来说,函数就是把任意一段代码放在一个盒子里面
-
在我想要让这段代码执行的时候,直接执行这个盒子里面的代码就行了
//这个是我们以前写过的一段代码 for(var i=0;i<10;i++){ conlose.log(i) } //函数,这个{}就是那个“盒子” function fn(){ for(var i=0;i<10;i++){ conslole.log(i) } }
## 一.函数定义阶段
-
我们有两种定义方式
声明式
-
使用function 这个关键字来声明一个函数
-
语法
function fn(){ //一段代码 console.log("声明式") }
赋值式
-
首先使用var 定义一个变量,把一个函数当作值直接赋给这个变量就可以了
-
语法:
var test2 = function(){ //一段代码 console.log("我是赋值式") } -
两种定义函数的区别
//声明式可以先调用在定义 //赋值式只能先定义在调用
-
调用函数
-
函数调用就是直接写函数名()就可以了
//声明函数 function fn(){ //一段代码 console.log("声明式") } //调用函数 fn() //注意:定义完一个函数以后,如果函数没有调用,那么写在{}里面的代码没有意义,只有调用以后才会执行 -
调用上的区别
-
虽然两种定义方式的调用都是一样的,但是还有有一些区别的
-
声明函数“ 调用可以在定义之前或者定义之后
//可以调用 fn() //声明函数 function fn(){ //一段代码 console.log("声明式") } //可以调用 fn() -
赋值式函数: 调用只能在定义之后
//会报错 fn() //声明函数 var fn= function(){ //一段代码 console.log("声明式") } //可以调用 fn()
-
-
函数的参数
-
我们在定义函数和调用函数的时候都出现过()
-
()的作用就是放参数的位置
-
参数分为形参和实参
//声明式 function fn(形参写这里){ //一段代码 console.log("声明式") } fn(实参写在这里) //赋值式函数 var fn= function(形参写在这里){ //一段代码 console.log("声明式") } //可以调用 fn(实参写在这里)
函数的返回值
-
函数调用本身也是一个表达式,表达式就应该有一个值出现
-
现在的函数执行完毕之后,是不会有结果出现的
-
retrun 返回的意思,其实就是给函数一个 返回值和终断函数
//比如1+2 是一个表达式,那么这个表达式的结果就是3 console.log(1+2) //3 function fn(){ //执行代码 } // fm() 也是一个表达式,这个表达式就没有结果出现 console.log(fn()) //undefined -
return 关键之就是可以给函数执行完毕一个结果
function fn(){ //执行代码 return 100 } //此时,fn()这个表达式执行完毕之后就有结果出现了 console.log(fn()) //结果为100 -
注意:
- 1.return 写不写看需求
-
- return 后面的代码无法执行
console.error()提示错误
预解析
* 预解析其实就是聊聊js代码的编译和执行
* js是一个解释型语言,就是在代码执行之前,先对代码进行通读和解释,然后再执行代码
* 也就是说,我们的js代码在运行的时候,会经历两个环节 解释代码和执行代码
解释代码
-
因为式在所有代码执行之前进行解释,所以叫做预解析(预解释)
-
需要解释的内容有两个
-
声明函数
- 在内存中先声明有一个变量名是函数名,并且这个名字代表的内容是一个函数
-
var 关键字
- 在内存中先声明有一个变量名
-