function aaa(arr){ arr.length=0; arr.push(2); arr.push(3); } var arr=[1,2]; alert(arr); aaa(arr); alert(arr);
用#2楼的方法就可以
[quote=引用 8 楼 天际的海浪的回复:]js是“引用传递”,不同于其它语言的“指针(地址传递)”。“引用”只有在读取时生效,写入时不会生效。 就是说,你只能在函数中修改数组的属性,不能对数组变量重新赋值,一但对变量重新赋值会断开与原数组的引用,而指向一个新的对象。
我想知道 你的 形参 是指什么 为什么能清空
js是“引用传递”,不同于其它语言的“指针(地址传递)”。“引用”只有在读取时生效,写入时不会生效。 就是说,你只能在函数中修改数组的属性,不能对数组变量重新赋值,一但对变量重新赋值会断开与原数组的引用,而指向一个新的对象。
不一样的,去好好理解JS的作用域吧,给篇博客你看看: http://www.cnblogs.com/wangfupeng1988/p/3991151.html
87,955
社区成员
224,621
社区内容
加载中
试试用AI创作助手写篇文章吧