js形参和局部变量同名

1、js基本数据类型值传递,对象引用传递;
2、形参和内部同名变量是同一个参数;

function f1(a) {//相当于首先var a=10;
    console.log(a);// 10;  
    var a=1;
    console.log(a);// 1 
    console.log(arguments[0])// 1; 
}
f1(10)

 var x=2,y=0,z=0;
    var obj={name:'haha'};

    function add1(num){ 	
    	num=num+1;
    	return num;
    }
     function add2(num){
    	num=num+2;
    }
    function changeobj(obj){
    	obj.name='erha';
    }

    z=add1(x);
    y=add2(x);
    changeobj(obj);

    var result=add1(x)+add2(y);
    console.log('x:'+x);//2
    console.log('y:'+y);//undefined
    console.log('z:'+z);//3
    console.log(obj);
    console.log(typeof result);//number
    console.log(result);//NaN
    /*
     typeof NaN=="number"
     typeof 2==="number"
    */
 var foo = {n : 1};
      (function(foo) {
         console.log(foo.n);//1
         foo.n = 3;
         var foo = {n : 2};//新的堆地址,不影响外层foo
         console.log(foo.n);//2
      })(foo);
     console.log(foo.n);//3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值