论坛首页 Web前端技术论坛

一道经典面试题想到的

浏览 15547 次
精华帖 (3) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-04-19   最后修改:2010-04-19
lifesinger 写道
js 1.6:

var x = 1, y = 2;
[x,y] = [y, x];

这样就可以了。目前 firefox 支持。


谢谢玉伯,学习了!JS从perl,python身上学到了不少,可惜其它浏览器(甚至Chrome)都没有支持。希望这些能写入EMCA262 V6中。

纠正下:应该是js 1.7,https://developer.mozilla.org/cn/New_in_JavaScript_1.7


0 请登录后投票
   发表时间:2010-04-19  
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过



这个方法不错
0 请登录后投票
   发表时间:2010-04-19  
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过

头回见,很赞
0 请登录后投票
   发表时间:2010-04-19  
如果是企业开发,这样的面试题目没有水准了,
现在算法已是次要的了,
精力应用在业务逻辑实现上,
已经有相当的算法在网上可以找到,
很多也是open source的,
就连google的搜索算法都是。
0 请登录后投票
   发表时间:2010-04-19  
上学时的练习题。。。
0 请登录后投票
   发表时间:2010-04-20  
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过


哈哈,果然很简单,我编译通过了.佩服
0 请登录后投票
   发表时间:2010-04-20   最后修改:2010-04-20
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过



这个是怎么实现的啊?……Java可以但是在C++下面执行结果不对啊,没有交换啊……
0 请登录后投票
   发表时间:2010-04-20  
lichong_87 写道
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过



这个是怎么实现的啊?……Java可以但是在C++下面执行结果不对啊,没有交换啊……


虽然结果是跑出来了,但是对于实现原理是怎样的还不是很清晰,有知道的大虾解释下吧!
0 请登录后投票
   发表时间:2010-04-20  
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过

写得好,学习一下
0 请登录后投票
   发表时间:2010-04-21  
hiqrf 写道
lbfhappy 写道
hiblue 写道
x = y+0*(y=x);
这个实际上是有隐含变量的.

你指的隐含变量是哪个?

用来保存0*(y=x)的值,你研究一下编译原理就明白了。

想明白这个表达式的系统编译执行过程?有哪位高人请指点?
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics