2013-03-02 37 views
3

我有一个艰难的时间,试图找到合适的术语,如功能阵列功能:正确的术语对自己的行

var array = [1, 2, 3]; 

array.pop(); 

return array; // returns [1, 2]; 

和:

var array = [1, 2, 3].pop(); 

return array; // returns 3 

我个人只是调用第一个例子“间接”,因为你间接触发数组的功能并修改它。

我打电话的第二个例子,你猜对了,“直接”,因为你直接将函数链接到数组。

听起来有点傻,我知道。但是,我对这些特定代码段的实际术语非常感兴趣,如果有的话。

+1

是关于在指向对象的变量上调用方法的术语,而不是直接在对象本身上调用方法的问题?你的问题有点令人困惑,因为你的两个例子做的事情略有不同,但我不认为这就是问题所在。一个小点:在第二个例子中'array'实际返回'3'。 – ultranaut 2013-03-02 04:22:27

+2

虽然这些示例并不等同,但第二个变量“数组”被错误地命名;它是'pop()'返回的最后一个元素。因此,第二个例子的数组没有对它的名称引用;它是“匿名的”(以一种说法)。 – 2013-03-02 04:22:56

回答

1

在第二种情况下,你正在做的:

[1,2,3].pop(); 

在你做第一种情况:

var array = [1, 2, 3]; 
array.pop(); 

这被简称为变量赋值。

什么是在您的问题造成一些混淆的是,在第二个例子中,您将值3分配给名为“数组”的变量,这应该真的被称为别的东西。