8-27 JS函数 function

JS函数 function

使用关键字function申明的,就是我们的函数

函数里面包含我的要执行的代码

为什么:代码重用

function 函数名(){

​ 代码

}

ex:

function cg(){
console.log(“我是0neorange”)
}

调用函数
cg()
function show(){
alert(“我是one orange波塞冬”)
}

    获取键盘值
    document.onkeydown = function (e, key) {
        console.log(e)
    }

    show();
    事件 onclick 单击 onclick="show()"
        ondblclick 双击 -->

    练习 结合switch-case 和 onkeydown事件 ,还有函数,实现当我们按下键盘上的回车时 弹出:热死了,否则弹出“陈哥牛皮”
    document:dom中顶级对象 文档
    onkeydown 键盘按下的时候调用函数
    window:浏览器端的全局对象
    e: 形参,形参的值可以自己定义
    document.onkeydown = function (e) {
        console.log(e);
        //switch(表示式)===》变量
        switch (e.key) {
            case "Enter": alert("太热了") ;
                    break;
                    //e.key === Enter
            default: alert("陈哥牛皮")
        }
    }

    document.onkeydown = function (e) {
        console.log(e);
        switch (e.code) {
            case "Enter": alert("太热了") ;
                    break;
            default: alert("陈哥牛皮")
        }
    }

    function qg(height,weight){
        //申明函数中的参数,叫做形参,即height weight
        //形参时局部变量 可以直接在函数内部使用
        console.log(`陈哥身高${height}米,体重${weight}斤`)

    }
    qg(180,130);//180 130 实参,实参在传递过程中一定要与形参一一对应 

    练习 页面设置三个按钮 ,调用同一个事件,点击第一个按钮:输出我是男友力1号 
                                        点击第一个按钮:输出我是男友力1号 
                                        点击第一个按钮:输出我是男友力1号


    function show(num){
         alert(`我是男友力${num}号`)
    }


    return 函数  :调用函数时,函数会返回一个值,没有console.log,通常保存在一个新变量里面,再用console.log
    function qg(height,weight){
        //申明函数中的参数,叫做形参,即height weight
        //形参时局部变量 可以直接在函数内部使用
         return`陈哥身高${height}米,体重${weight}斤`
    }
    var content=qg(180,100)

    问题:函数中使用console.log 与 return 有什么区别?
    console.log :控制台中,在函数内部使用直接输出,一般我们使用console来调试
    return  返回会向全局返回下一个值,我们可以在全局下,定义变量来承接这个值

    练习: 水仙花数 列如: 153=1**3 + 5**3 +3**3

    for (a=1;a < 10;a++) {
        for (b=0; b < 10;b++) {
            for (c=0;c < 10;c++) {
                var sum1 = a * 100 + b * 10 + c;
                var sum2 = a ** 3 + b ** 3 + c ** 3;
                if (sum1 == sum2) {
                    console.log(sum1);

                }
            }

        }
    }

匿名函数
7.声明函数 function fnName(){…}
8.函数表达式 var funName=function(){…}
console.log(a) ==>undefined
var a=1; ==>变量提升
console.log(a) ==> 1

show()
function show(){

}

解决变量提升 方法
1.将函数定义 还有变量定义都写在最前面
2.针对变量 将var 改为let ES6(let)
3.针对函数 使用函数表达式 var fnName = function(){…}

10.匿名函数的自调
(function(){
代码
})()
(function(){
console.log(“今天有点热”)
})()

回调函数*
**将匿名函数作为实参传入函数中 ,就叫做回调函数

练习 匿名函数 回调函数
1.匿名函数:定义一个没有名字的函数,在函数里面使用for循环,输出1-100的和,执行页面自动调用

(function(){
var sum=0;
for(i=1;i<=100;i++){
sum=sum+i
}
console.log(sum)
})()

匿名函数:自调

(function(){
代码
})()

2.回调函数:将一个没有名字的函数传入,有参数的函数中,在没有名字的函数中返回 ‘XXXX.你好坏,我好喜欢’ 在有参数的函数中进行输出

a是形参,函数名,而a()是调用函数 fn(a)=fn(function()) 理解fn(a)就是调用函数fn(function())
而a 就等于 function()的函数名,a()就是调用函数 function()
function fn(a){
var newA=a(); //var newA=a();就是设置变量newA 来存放返回值
console.log(newA)
}
fn(function(){
return ‘张林,你好坏,我好喜欢’ //return 返回值需要一个变量来装
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值