时间:2021-05-25
二者区别:
byval传递数值,实参和形参分处不同的内存单元,互不干扰!
byref传递地址,实参和形参占用相同的内存单元,形参变则实参变!!!!!!
通俗理解:
byval一去不复返
byref进去再出来,可能被更新!
在JavaScript中:
Boolean,Number,String型的参数是按值传递的==>相当于VBS中的ByVal;
而Object型的参数(包括JS对象,Array对象,Function对象等),是按引用传递==>相当于VBS中的ByRef
复制代码 代码如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://"/>
</head>
<body>
<scripttype="text/javascript">
<!--
functionNum(n){n=n*2;}//Number型的参数,按值传递的==>相当于VBS中的ByVal;
functionObj(){}
Obj.prototype.show=function(o){//JS对象,是按引用传递==>相当于VBS中的ByRef
o.toString=function(){
return("{id:"+this.id+",desc:"+this.desc+"}");
}
}
functionFunc(f){//Function对象,是按引用传递==>相当于VBS中的ByRef
f.show=function(o){
o.toString=function(){
return("{id:"+this.id+",desc:"+this.desc+",toString:function(){}}");
}
}
}
varN;
N=1;
alert(N);
Num(N);
alert(N);
varO;
O={
id:"001",
desc:"编号说明",
toString:function(){
returnnull;
}
};
varF=newObj();
varF2=newObj();
alert(O.id+"\n"+O.toString());
F.show(O);
alert(O.id+"\n"+O.toString());
Func(F);
F.show(O);
alert(O.id+"\n"+O.toString());
//-->
</script>
</body>
</html>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
对于“JavaScript函数参数是传值(byVal)还是传址(byRef)”这个问题,普遍存在一个误区:number,string等“简单类型”是传值,Num
一直以来在VB6下,参数默认都是按照ByRef传送的,(即按地址传送)而在.Net(C#,VB.Net)下,参数默认是使用ByVal(即按值传送)传送的,一直没
1、ByVal传值:一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。2、ByRef传值:一种将参数地址而不
平板电脑之间的对比。总结:通过以上分析,iPadAir与ipadmini在硬件和功能方面无多大区别,而最大的区别只体现的外形、体重和售价上,大家可根据个人的爱好
本文章来总结一下关于apache伪静态与iis伪静态区别介绍,主要讲到了一些规则的问题与配置区别,以后大家就可以直接在iis伪静态转换apache,反之也很简单