JavaScript入门 函数介绍/函数参数/return/函数类型/预解析Day04

函数介绍


  • 作用:将任意功能的代码进行‘封装’
  • 目的:复用代码,在需要的时候进行调用
  • 语法
    //声明定义函数
    function 函数名 (){
            封装代码
    }
    
    函数名()  //函数调用语句
    //函数执行流程
    console.log('函数定义开始')
    function fun(){  //定义一个名为fun的函数
        console.log('成功调用')   //函数体
    }
    fun()  //函数调用语句
    console.log('函数调用完成')

  • 函数的封装  
    //封装 求两数的最大值的函数
    function getMax(){  //定义名为getMax的函数
        var m = 54
        var n = 67
        var max = m         //函数体 封装在最外层的{}内
        if (n > max){
            max = n
        }
        console.log('最大值是:'+max)
    }
    getMax()   //函数调用

函数参数 


  • 形参:定义函数时在函数名括号中定义的变量称为形参
  • 实参:使用函数调用语句,调用函数时,传入的实际参数值
  • 语法
    function 函数名(形参1,形参2){
        函数体
    }
    函数名(实参1,实参2)
    function fun(m){
        document.write('m:'+m)
    }
    fun(100)  //调用时将100传入m

参数个数 

形参多,实参少: 100传给m,n只是声明了这个变量,无值(默认为undefined)

实参多,形参少:一一对应,多余的实参没有作用

function fun(m , n){
    document.write('m:'+m)
}
fun(100)

函数作用:封装代码 

//封装 求两数的最大值的函数
function getMax(x , z){  //定义名为getMax的函数
    var m = x    //54
    var n = z    //67
    var max = m         //函数体 封装在最外层的{}内
    if (n > max){
        max = n
    }
    document.write('最大值是:'+max)
}
getMax(54 , 67)   //函数调用

函数返回值:return语句


中断函数:return

作用:和循环里的break相同,在函数体中,使用return终止函数体代码向下执行

function fun(m){
    document.write('m:'+m)
    return    //终止
    document.write('终止的内容')   //被终止
}
fun(100)  

返回值:return 值

function fun(f){
    document.write('f:')
    return 100    //返回值
}
var m = fun()    //定义 m 接收函数fun() 的返回值
document.write('m:'+m)

例:

//封装 求两数的最大值的函数
function getMax(x , z){  //定义名为getMax的函数
    var m = x    //54
    var n = z    //67
    var max = m         //函数体 封装在最外层的{}内
    if (n > max){
        max = n
    }
    return max
}
var m1 = getMax(54 , 67)   //函数调用 定义m1来接收return返回值
var m2 = getMax(34, 89)   //函数调用 定义m2来接收return返回值
document.write('m1:'+m1+'m2:'+m2)

函数类型


 无参无返回值

function fun(){
}

有参无返回值

function fun(m){
    //函数体
}

无参有返回值 

function fun(){
    return 100
}
var m = fun()

 有参有返回值

function fun(m){
    //函数体
    return m+100
}
var m = fun(200)

参数默认值 

function fun(m){
    m = m || 10    //没有实参,这里m默认值为10,逻辑或默认值为false,所以最后为10它就为10
    document.write('m'+m)
}
fun()  //无实参

预解析


  • 浏览器JavaScript引擎解析执行JavaScript代码
  • 执行JavaScript代码之前,扫描通读JS代码,如果发现声明式函数var声明的变量,将其提前
  • 声明式函数:function 函数名(){}   预解析成功,var fun = 函数名()预解析失败
  • var声明的变量:  var fun
  • 预解析同名情况:声明式函数优先提前 ,如果在最开头将函数赋值,则调用时会报错
  • 注:不要出现函数变量同名的情况
  •  

 

var fun = 100 //给函数fun赋值成了变量  第二行fun()函数调用失效,报错 :

代码:

 预解析为:

			console.log(num)   //undefined  f2与其同理
			var num = 10       
			f()
			console.log(f2)    //undefined

			function f() {
				console.log(n)   //undefined
				var n = 20
				console.log(n)  //20
			}
			console.log(num)  //10
            
			var f2 = function () {
				console.log('我是f2')
			}
            var data = 'abc'

			fun(data)

			console.log(data)    //abc

			function fun(data) {    //abcxyz
				data += 'xyz'
			}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值