javascript - 请问把函数作为参数传递进另一个函数嗯为什么下面的例子没用?

查看:98
本文介绍了javascript - 请问把函数作为参数传递进另一个函数嗯为什么下面的例子没用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

把函数作为参数传递进另一个函数, 像下面这样, 但是没有反应, 请问, 要是想采用两个和函数的写法, 应该像下面这样写吗? 下面的代码有什么问题吗?

var i;
var num=function(i){
   for(i=1;i<21;i++){
        return i;
   };
};
num();
var str=function(num){
   var stra='Fizz';
   var strb='Buzz';
   if(num%3===0 && num%5===0){
       console.log(stra+strb);}else if(num%5===0){
       console.log(strb);}else if(num%3===0){
       console.log(stra);}else{
       console.log(num);};
};
str();
//输出 undefined


然而实际上我想输出

//输出结果为

/*
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
*/


我知道下面这种方式可以输出上面的结果, 但是像上面代码那样, 两个函数时要怎么办?

var num=function(){
    var stra='Fizz';
    var strb='Buzz';
    for(var i=1;i<21;i++){
    if(i%3===0 && i%5===0){
    console.log(stra+strb);
    }else if(i%5===0){
        console.log(strb);
        }else if(i%3===0){
            console.log(stra);}else{
                console.log(i);};
    };
};
num();


解决方案

你好楼主,大概意思是这样(个人理解):
function fn(num){

//函数中定义num这个参数,相当于在函数里面声明了num
//相当于这样 var num;
console.log(num);

}
fn(1);
输出1;
//在全局中声明
var num = 3;
//还有一个就是
fn(num);//输出3
/问题修改*/
抱歉楼主,个人表达不清晰,更改如下:
function fn(num){
//意思是,穿进来的第一个参数是以num命名的。
//之前表达意思不清晰。
}

这篇关于javascript - 请问把函数作为参数传递进另一个函数嗯为什么下面的例子没用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆