原始类型(Number,String等)按值传递,但是对象是未知的,因为它们可以是值传递(如果我们认为持有对象的变量实际上是对象的引用)并且通过引用传递(当我们认为对象的变量保存对象本身时).
虽然最后并不重要,但我想知道提交传递约定的参数的正确方法是什么.是否有JavaScript规范的摘录,它定义了与此相关的语义?
如果C不支持通过引用传递变量,为什么这会起作用?
#include <stdio.h>
void f(int *j) {
(*j)++;
}
int main() {
int i = 20;
int *p = &i;
f(p);
printf("i = %d\n", i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
$ gcc -std=c99 test.c
$ a.exe
i = 21
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何存储对数组中变量的引用?
请考虑以下代码:
var a = 'cat';
var b = 'elephant';
var myArray = [a,b];
a = 'bear';
Run Code Online (Sandbox Code Playgroud)
myArray [0]仍将返回'cat'.有没有办法在数组中存储引用而不是克隆,以便myArray [0]将返回'bear'?