javascript函数参数位置互换遇到的问题

bobshi 发布于 2014/01/18 23:35
阅读 217
收藏 0

今天想实现一个很简单的功能,但是发现一直实现不了,想问下大家有没有什么好的办法。

功能很简单,就是一个函数有三个参数声明,但当我传两个参数时,只在函数顶部做一个简单的变换就可以实现在不新增变量的情况下,把第一个参数的值置空。传的两个值对应到后两个参数上去。

function fn(a,b,c){
	if(arguments.length==2){
		//用最简洁的方式写出你的代码,达到你以下一行代码的效果
		//c = b;b=a;a=undefined
	}
	console.log(a,b,c)
}

var a1 = {av:1};
var b1 = {bv:2};
var c1 = {cv:3};
fn(a1,b1,c1);//正确输出a1,b1,c1的值
fn(b1,c1);//输出值为undefined,b1,c1


加载中
0
星爷
星爷
直接传对象
0
jQer
jQer
function p(a,b,c){ if(type c !== 'function){ b = a; c = b; } ... }
bobshi
bobshi
你试一下,达不到效果的。你这个的结果是c跟b值一样。
返回顶部
顶部