宝慕林6162398
2016-11-11 13:59
一般是干嘛的!能不能举个例子!
<script>
window.onload=function(){
var a = 1;
function fn1(a){
alert(a); // 1
a = 2;
}
fn1(a);
alert(a);
//2
var arrClass=[1,2,3,4,5,6,7,8],
v=8;
arrIndexOf(arrClass,v)
function arrIndexOf(arrClass,v){
for(var i=0;i<arrClass.length;i++){
if(arrClass[i]==v){
arrClass.splice(i,1)
}
}
}
alert(arrClass)
}
</script>
为什么第二个中arrClass最终被改变了,应该按照上面的道理应该不会被改变啊,然后这个应该是内存指针,但是for()循环会有呢?
内存指针字面意思上就是指向内存的的指针。
这里我用C语言给你讲解一下。
在C语言里,&(变量),这就是该变量的指针,那么他的值是什么呢?
他的值就是该变量在内存中的内存地址。
再来个通俗的例子。
指针得行为可以理解为,我去查询某人的家庭住址,而得到的值呢,自然就是某人的家庭住址,这时候我是不是就能够根据这个地址找到这个人,然后就可以揍她了不是。
放到编程里,我知道了这个变量在内存中的地址,那我根据这个地址,我就可以对他进行操作。
你这是问的哪个语言下的问题,典型的如c,当你声明一个整型变量a时,会开辟一个4字节的内存给它,这时你可以再声明一个指针型变量b,来存储变量a的地址,即int a;int *b=&a;
在这里,&a即是变量a的内存指针,而变量b则是存储&a的指针变量。
内存指针就是用来指向内存地址的
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题