Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays_Primitive - Fatal编程技术网

数组不是引用类型,数组在JavaScript中是否属于引用数据类型

数组不是引用类型,数组在JavaScript中是否属于引用数据类型,javascript,arrays,primitive,Javascript,Arrays,Primitive,我听说数组是JavaScript中的引用数据类型,如果我错了,请纠正我 我已经使用join方法更改了数组,为什么它会显示给旧引用 为什么更改不会影响名称数组?数组方法join不会更改原始数组,它返回一个字符串。其他方法确实会更改原始数组,例如push或shift 但是你是对的,数组是引用。例如,考虑这个片段。在运行它之前,试着想想结果会是什么 var arr1=john.split; var arr2=arr1.0相反; var arr3=琼斯·斯普利特; arr2.3; console.lo

我听说数组是JavaScript中的引用数据类型,如果我错了,请纠正我

我已经使用join方法更改了数组,为什么它会显示给旧引用

为什么更改不会影响名称数组?

数组方法join不会更改原始数组,它返回一个字符串。其他方法确实会更改原始数组,例如push或shift

但是你是对的,数组是引用。例如,考虑这个片段。在运行它之前,试着想想结果会是什么

var arr1=john.split; var arr2=arr1.0相反; var arr3=琼斯·斯普利特; arr2.3; console.logarray 1:length=+arr1.length+last=+arr1.slice-1;
console.logarray 2:length=+arr2.length+last=+arr2.slice-1 有些方法更改引用数组,而另一些方法只返回更改的值

Join是一种只返回更改的数组而不更改它的方法

我建议在使用某些函数时,阅读其文档以了解这些细节


加入关于W3Schools的文档:

您的问题不清楚,请澄清一下?如果您需要对任何内容进行澄清,请访问w3schools.com,它不会改变数组,而是使用数组的元素生成字符串。@Splaten MDN几乎总是比w3更好的JS资源。
let names = ['mdv','venkatesh','nani']

// array methhods join 

let result = names.join('-');

console.log(result); o/p  mdv-venkatesh-nani
console.log(names);  o/p  ['mdv','venkatesh','nani']