//[1]vararr=[1,2]functionchange(arr){arr=[1,2,3]}change(arr)console.log(arr)//=>[1,2]//[2]vararr=[1,2]functionchange(arr){arr.push(3)}change(arr)console.log(arr)//=>[1,2,3]按照《JavaScript高级程序设计》中的说法:基本类型值的传递如同基本类型变量的复制一样。引用类型值的传递则如同应用类型变量的一样为什么赋值不会改变外部arr,而push方法则会改变外部arr的值呢?友情链接:[sof]IsJavaScriptapass-by-referenceorpass-by-valuelanguage?
侃侃尔雅
相关分类