我是JavaScript新手。我正在学习它,但我不理解“带参数的功能”。为什么一个功能需要一个“参数”&我们如何知道这个功能需要一个“参数”。你能否给我提供一个链接,我可以从中学习基本的所有JavaScript &我想要一个链接,提供所有包含细节的小型JavaScript程序。将参数传递给函数
将参数传递给函数
回答
如果函数的输出基于某些输入值,则函数将需要参数。举例来说,如果你要编写一个函数,将两个数相加在一起:
function adder(a, b) {
return a + b;
}
我知道,这个功能有一个名为a
和b
两个参数,因为我可以在函数名后的定义看出来:adder(a, b)
。我需要“传递”两个号码,以该功能为它产生良好的输出,就像这样:
adder(2, 3); // returns 5
如果我不把它传递两个数字,返回的结果将是NaN
,因为函数的参数将是undefined
:
adder(); // a = undefined, b = undefined, returns NaN
adder(7); // a = 7, b = undefined, returns NaN
欲了解更多有关学习JavaScript,一个去的地方就是MDN guide。
我推荐查看此页http://www.w3schools.com/js/js_functions.asp。
我会在我的方式中加几句话。
例如,我们想改变页面
的背景颜色,我将创建一个这样
function changeBG(whichColor){
document.bgColor = whichColor;
}
所以功能,我可以打电话从点击按钮功能(红色按钮) - onclick="changeBG('red');"
一样,我可以打电话与差异参数方法(例如onclick="changeBG('green');"
我们可以重复使用相同的代码,当我们需要它。
有的功能不需要参数。所有的功能都是由2个要领部分:
- 的实现 - 这是函数的实际代码,它做什么。
- 接口 - 将它连接到“外部世界”,也就是程序的其余部分。
参数是接口的一部分,你可以传递参数给你的功能,以帮助其实现对总体方案的目标。
考虑以下(理论)例如:
比方说,我想打一个TV操作程序。我想定义一种切换频道的方法。
function switchChannel() { /* do some stuff */ }
但是,你会问自己的第一件事是什么?用户想要更改哪个频道? 这是接口问题,所以为了包括在我们的功能,我们会做这样的事情:
function switchChannel(channelNum) { /* do some stuff */ }
当我打电话的功能,我将最有可能做到这一点,像这样:
switchChannel(24);
即24 值将被传递到所述channelNum
参数的switchChannel()
功能的内部。
所以完整的示例代码:
function switchChannel(channelNum) { alert(channelNum); }
switchChannel(24);
结果将与
这是它的主要内容一个警告,希望这有助于您:)
这不是特定于JavaScript。
所有编程语言都具有需要参数的功能。
实际上,所有功能都有参数。一个函数就像你在数学课上学到的一样:你给它一个输入值,它给你一个输出值。
带“无参数”的函数实际上有0个参数。就其本质而言,它只能返回一个值(除非它正在访问外部变量,这是非常糟糕的形式)。
例如:
function sum0() { // <-- "no" parameters/arguments
return 0;
}
function sum1(x0) { // <-- 1 parameters/arguments
return x0;
}
function sum2(x0, x1) { // <-- 2 parameters/arguments
return x0+x1;
}
function sum3(x0, x1, x2) { // <-- 3 parameters/arguments
return x0+x1+x2
}
(当然,你永远不会写这些功能,他们是可怕的,重复的,我们写的功能,必须避免重复的东西全部原因实际执行的总和。函数,你可以传入一个数组作为单个参数,或者做return arguments.reduce(sum2)
)
没有参数的函数有时被称为“thunk”,因为它不需要处理新的信息。这是“已经思考”。例如:
function firstNPrimes(n) { // 1 parameter, not "thought out"
// sieve of Eratosthanes goes here
}
说我们现在想要一个功能firstFivePrimes
。我们有很多方法,我们可以这样做:
function firstFivePrimes() { // no parameters, already "thought out"
return firstNPrimes(5);
}
但是它已经是“深思熟虑的”,所以我们只能预先计算的话,或者在后台计算的话:
function firstFivePrimes() { // no parameters, already "thought out"
return [2,3,5,7,11];
}
两个假设你没有访问全局变量(可怜的形式),实现是相同的。
下面是一个总是返回相同值的“thunk”:一个函数!
function makeCounter() {
var i = 0;
return function() {
console.log(i++);
}
}
实施例:
> counter = makeCounter()
> counter()
0
> counter()
1
> counter()
2
> anotherCounter = makeCounter()
> anotherCounter()
0
> anotherCounter()
1
> counter()
3
> anotherCounter()
2
的
- 1. 将数组传递给函数参数
- 2. 参数传递给函数
- 3. 参数传递给函数
- 4. 参数传递给函数
- 5. 将参数传递给onclick函数dymamically
- 6. 将宏参数传递给宏函数
- 7. 将参数传递给回调函数
- 8. 将参数传递给原型函数
- 9. VBScript:将参数传递给函数
- 10. 将参数传递给mouseEvent函数
- 11. 将参数传递给函数空间
- 12. 将参数传递给函数
- 13. 将日期参数传递给函数
- 14. Python - 将参数传递给函数
- 15. 将参数传递给函数
- 16. jquery - 将参数传递给函数
- 17. 将多个参数传递给函数
- 18. 将参数传递给回调函数
- 19. 将参数传递给jQuery函数
- 20. 将参数传递给函数引用?
- 21. 将参数传递给JQuery函数
- 22. python Tkinter:将参数传递给函数
- 23. 将参数传递给函数?
- 24. 将参数传递给jQuery函数?
- 25. 将参数传递给比较函数?
- 26. Haskell - 将参数传递给map函数?
- 27. 将ID参数传递给函数
- 28. 将参数传递给jQuery函数
- 29. 将参数传递给函数
- 30. 将参数传递给shown.bs.modal函数()
可能重复的[最佳资源学习JavaScript(http://stackoverflow.com/questions/11246/best-resources-to-learn-javascript) –
我不同意。这不是一个确切的副本。 @Suraj –