点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!
首先进一步解释一下题意:所谓两个整数交换,就是当我们给一个函数传两个参数(a,b)时,返回的是(b,a)。
一、常规做法
我们通常的做法是借助一个中间变量来解决,惯性代码如下所示:
输出结果就是:6,5。
上面这段代码我们在函数内部定义了一个临时变量s,将a先暂存在到了这个变量上。然后将b赋值给了a,先改变了a的值,最后将中间变量s的值传给了b,从而就实现了交换。
这有点像买东西,为了保障安全,需要有个中间人一样.....
二、巧妙做法
然而,这个问题,也可以换一种形式来玩。两个主要点:
1、利用a,b差值做为中间变量(这就不需要在增加额外的资源消耗了)
2、运用a = a + (b-a)等同于a = b的形式
具体代码如下所示:
输出结果就是:6,5。
上面代码先将b-a的值做为一个中间变量,然后,在巧妙的利用a+(b-a)和a-(b-a)实现a和b的置换。
总结一下:
JavaScript代码写起来很简单,但要写出一段好的JavaScript代码,往往需要思考和学习。
閱讀更多 小鄭搞碼事 的文章
關鍵字: 整数 技术 JavaScript