Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将函数分配给javascript变量_Javascript - Fatal编程技术网

如何将函数分配给javascript变量

如何将函数分配给javascript变量,javascript,Javascript,我需要使用数组元素的函数访问它 例如,我有数组A[],现在我想创建数组B,这样 A[i] === B[i].value() 我尝试了下面的代码,但得到的错误是B[I]。值不是函数 <script> function test(A) { var B = new Array(); for(var i=0; i<A.length; i++) { B[i] = function value() { return A[i]

我需要使用数组元素的函数访问它

例如,我有数组A[],现在我想创建数组B,这样

A[i] === B[i].value()
我尝试了下面的代码,但得到的错误是
B[I]。值不是函数

<script>
function test(A) {
    var B = new Array();
    for(var i=0; i<A.length; i++) {
        B[i] = function value() {
                return A[i];
            };
    }

    for(var i=0; i< B.length; i++) {
        console.log(B[i].value());
    }
    return B;
}

A=[1,2,3];
B = test(A);
</script>

功能测试(A){
var B=新数组();

对于(var i=0;i您需要指定一个对象:

B[i] = {
    value: function () {
        return A[i];
    }
}
为了避免
i
的范围出现任何问题,可以使用语句

let语句声明块作用域局部变量,可以选择将其初始化为值

功能测试(A){
var B=新数组();
for(设i=0;i

.as console wrapper{max height:100%!important;top:0;}
您可以使值匿名,例如
B[i]=function(){/*Your code*/}
然后只需调用
B[i]
而不是
B[i].value()
A[i]==B[i].value()
-有错误(可选)函数表达式的名称仅在函数中可用,它不会创建指定给它的对象的命名属性。感谢Ele,还有其他方法添加此函数吗?闭包人!将第二个计数器更改为
j
。六票-有趣!是的,如果我在第二个循环中使用'j',而不是
I
,它不会工作,得到error@Igor六票,因为OP希望按如下方式调用函数
B[index].value()
。当然,关于作用域问题,您是对的。请参阅更新的答案!@Ele OP也希望
B[i]。value==B[j]。value
。OP不知道他们想要什么。