Javascript - 为什么下面的函数定义错误
Javascript - Why below function definition errors out?
var a = [3,5,2,6,8];
var i = 0;
function x(a[i]) { //This line errors out, why?
}
请解释为什么上面的行错误? 我正在尝试使用递归以相反的顺序打印数组元素。如果你也能写代码,那就太棒了!
将值传递给函数定义。 你必须在调用函数时给出它,而不是在定义时功能。调用函数时可以传递值。
var a = [3,5,2,6,8];
var i = 0;
function x(t) {
}
x(a[i]);
您错误地定义了带有参数的函数。您可以为函数参数命名,就像任何其他变量一样:
function x(array) {
//Do something with your array
}
然后你调用函数:
var a = [1,2,3,4,5];
x(a);
正如你可以在其他答案上读到的,你有点混合了函数声明和函数计算(调用)。
这将声明接受a
参数的函数x
:
function x(a) {
}
这将调用带有参数a
x
的函数:
var a = [3,5,2,6,8];
x(a);
或直接:
x([3,5,2,6,8]);
关于反转数组的递归函数,这可能是一个选项:
var a = [3,5,2,6,8];
function x(a) {
if (a.length === 0) {
return [];
}
return a.slice(-1).concat(x(a.slice(0, -1)));
}
使用递归:
var a = [3,5,2,6,8];
function x(p, len) {
if(len >= 0){
alert(p[len-1]);
x(p, len-1);
}
}
// and call
x(a, 5);
演示
相关文章:
- 用嵌套函数和默认函数定义函数
- 使用Extjs进行函数定义
- JS中奇怪的函数定义语法
- 重写javascript函数定义
- 使用角度图时,我可以用函数定义数据点颜色吗
- modal.js中的匿名函数定义
- 为从AJAX调用中utlizes DATA参数的函数定义回调
- Emacs:在 etag 中查找函数定义
- Javascript:对象函数定义
- 为什么要在函数定义之外引用静态变量(函数属性)
- Ember 对象函数定义中的计算属性.js
- javascript/jQuery中函数定义的区别
- CoffeeScript 承诺与函数定义链接
- 如何在使用 eval() 评估 JavaScript 时将回调函数定义作为参数传递
- Javascript - 为什么下面的函数定义错误
- 使用函数声明时的自定义函数(也称为惰性函数定义)
- JavaScript 函数定义不正确
- jQuery off on 时是用匿名函数定义的
- 停止 IntelliJ 11 在启用 JSLint 时向每个嵌套函数定义添加“use strict”
- 为什么不是't我为这个函数定义的javascript函数