javascript - 请问把函数作为参数传递进另一个函数嗯为什么下面的例子没用?
本文介绍了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屋!
查看全文