js预解析和数据类型传递的练习

<script type="text/javascript">
		// 基本类型的值传递给最近的变量
		var num1=55;
		var num2=66;
		function f1(num,num1) {
			num=100;
			num1=100;
			num2=100;
			console.log(num);//100
			console.log(num1);//100
			console.log(num2);//100
		}
		f1(num1,num2);
		
		console.log(num1);//55
		console.log(num2);//100
		console.log(num);//报错,未定义
	</script>

	<script type="text/javascript">
		function Person(name,age,salary) {
			this.name=name;
			this.age=age;
			this.salary=salary;
		}
		function f1(person) {
			person.name="1s";
			person=new Person("aa",28,30000); 
		}
		var p=new Person("2s",18,10000);
		console.log(p.name);//2s
		f1(p);
		console.log(p.name);//1s
		// 复杂类型的传递传递的是存储地址,即使在函数的局部执行环境中执行,更改的也是同一个地址中的数据。
		// 但是新创建的对象,就和原来不是同一个地址了。
	</script>

	<script type="text/javascript">
		var a=1;
		function fn1(a){
			console.log(a); //1
			var a = 2;//局部
		}
		fn1(a);
		console.log(a) //1
	</script>

	<script type="text/javascript">
		var a=1;
		function fn1(a){
			console.log(a); //1
			a = 2;//局部
		}
		fn1(a);
		console.log(a); //1
	</script>


	<script type="text/javascript">
		var a=1;
		function fn1(){
			console.log(a); //1
			a = 2;//隐式全局
		}
		fn1(a);
		console.log(a); //2
	</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值