- 浏览: 1125742 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhizhen23:
LZ 提供的链接地址失效了
重写的isPlainObject方法 -
LovingBaby:
LovingBaby 写道function fun() {}f ...
读jq之二(两种扩展) -
LovingBaby:
说的很清楚!jQuery作者为了实现简洁调用的苦心!高超的编程 ...
读jq之一(jq对象的组成) -
hard_ly:
...
将伪数组转换成数组 -
zlxzlxzlxzlxzlx:
这不能算是任意进制之间的转换,例如二十六进制、十二进制又该如何 ...
用递归实现十进制数转换N进制
不使用第三个变量完成两个整数的交换,这个面试题大概大家都碰到过。如下是java中的代码:
public class Person { public static void main(String[] args) { //利用加减法 int a = 10, b = 5; a = a + b; b = a - b; a = a - b; System.out.println("a=" + a + "\nb=" + b); } }
还有另外一种方法,且效率更快:
public class Person { public static void main(String[] args) { //利用一个数异或本身等于0和异或运算符合交换率 int a = 10, b = 5; a = a ^ b; b = a ^ b; a = a ^ b; System.out.println("a=" + a + "\nb=" + b); } }
当然以上两种的算法对应js中也支持,如下:
var a = 11,b = 22; a = a + b; b = a - b; a = a - b; console.log(a+'\n'+b)
或
var a = 11,b = 22; a = a ^ b; b = a ^ b; a = a ^ b; console.log(a+'\n'+b)
但如果两个变量是对象类型,java(强类型)貌似无能为力了。js却可以,实现方式还不少,如下:
var a = {name:'jack'},b = {name:'tom'}; a = [a,b]; b = a[0]; a = a[1]; console.log(a.name+'\n'+b.name)
或者
var a = {name:'jack'},b = {name:'tom'}; a = {a:a,b:b}; b = a.a; a = a.b; console.log(a.name+'\n'+b.name)
正是利用js动态类型(弱类型)系统及对象/数组直接量特性。其它强类型则不可以,编译器会提示类型转换错误。
资源:http://en.wikipedia.org/wiki/XOR_swap
评论
35 楼
smzd
2010-05-20
[]的引入不算变量?没有名字的变量而已!{}也是一样的
34 楼
l8653668
2010-05-15
jakend 写道
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
此方法,针对java 可以,针对c++ 就不行,java引用了第三方变量。
各位大牛可以解释一下么?还是看不懂...
33 楼
jakend
2010-04-28
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
此方法,针对java 可以,针对c++ 就不行,java引用了第三方变量。
32 楼
zhengtianbing123
2010-04-21
satanest 写道
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个方法厉害
这个真的很巧妙!
31 楼
jslfl
2010-04-21
hiblue 写道
x = y+0*(y=x);
这个实际上是有隐含变量的.
这个实际上是有隐含变量的.
运算顺序的技巧而已,没用到啥隐含变量吧,,
30 楼
zhaolaiwei
2010-04-21
hiqrf 写道
lbfhappy 写道
hiblue 写道
x = y+0*(y=x);
这个实际上是有隐含变量的.
这个实际上是有隐含变量的.
你指的隐含变量是哪个?
用来保存0*(y=x)的值,你研究一下编译原理就明白了。
想明白这个表达式的系统编译执行过程?有哪位高人请指点?
29 楼
yangpeihai
2010-04-20
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
写得好,学习一下
28 楼
jimmy9495
2010-04-20
lichong_87 写道
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个是怎么实现的啊?……Java可以但是在C++下面执行结果不对啊,没有交换啊……
虽然结果是跑出来了,但是对于实现原理是怎样的还不是很清晰,有知道的大虾解释下吧!
27 楼
lichong_87
2010-04-20
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个是怎么实现的啊?……Java可以但是在C++下面执行结果不对啊,没有交换啊……
26 楼
bingufo
2010-04-20
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
哈哈,果然很简单,我编译通过了.佩服
25 楼
goon
2010-04-19
上学时的练习题。。。
24 楼
anywhere
2010-04-19
如果是企业开发,这样的面试题目没有水准了,
现在算法已是次要的了,
精力应用在业务逻辑实现上,
已经有相当的算法在网上可以找到,
很多也是open source的,
就连google的搜索算法都是。
现在算法已是次要的了,
精力应用在业务逻辑实现上,
已经有相当的算法在网上可以找到,
很多也是open source的,
就连google的搜索算法都是。
23 楼
sunzeshan
2010-04-19
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
头回见,很赞
22 楼
zhao103804
2010-04-19
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个方法不错
21 楼
zhouyrt
2010-04-19
lifesinger 写道
js 1.6:
var x = 1, y = 2;
[x,y] = [y, x];
这样就可以了。目前 firefox 支持。
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
20 楼
zhouyrt
2010-04-19
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
学习了,谢谢!
19 楼
20055294
2010-04-19
学习了,收藏了
18 楼
liwanfeng
2010-04-18
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个我还真是第一次看过!牛!
17 楼
lixinlixin2008
2010-04-18
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个赞
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个赞
16 楼
askyuan
2010-04-18
呵呵
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个好
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个好
发表评论
-
JavaScript获取图片的原始尺寸
2016-04-20 10:30 1429页面里的img元素,想要 ... -
JavaScript中奇葩的假值
2016-03-14 17:43 1007通常在以下语句结构中需要判断真假 if分支语句 whi ... -
世界上最短的数字判断代码
2016-03-14 16:21 1421我们知道JavaScript提供了typeof运算符,因此最 ... -
getBoundingClientRect在IE9/10里的bug
2015-01-12 08:30 1520getBoundingClientRect可以获得页面中某个 ... -
JavaScript中的直接量与初始器的区别
2014-11-08 06:09 1463很多代码优化及公司规范都会提到 写对象不应该 var ... -
JavaScript中的不可见数据类型
2014-11-02 11:08 1134JS提供了一些内置对象、函数和构造器供我们编程,如Math ... -
ES5严格模式
2014-10-08 18:20 1084严格模式(Strict mode)是由ECMA-262规范 ... -
JavaScript生成GUID的算法
2014-07-16 14:25 2893全局唯一标识符(GUID,Globally Unique ... -
JavaScript中点号“.”的多义性
2014-06-07 19:42 1533点号「.」在JavaScript中 ... -
冗余换性能-从Backbone的triggerEvents说开了去
2014-02-19 11:03 829Backbone是一个优秀的前端MVC库,它的代码质量必定 ... -
JavaScript中delete操作符不能删除的对象
2013-11-27 13:21 1179ES3 中,delete在8.6.2.5及11.4.1有介 ... -
JavaScript中instanceof对于不同的构造器可能都返回true
2013-11-19 11:13 1082我们知道 instanceof 运算符用来检查对象是否为某 ... -
JavaScript里模拟sleep
2013-10-16 07:52 1422有几种方式,但都不完美 一、不断循环,直到达到指定时间 ... -
参数有中包含空格且使用Post提交时须将空格转换成加号
2013-10-14 08:07 5092jQuery的serialize模块中有个r20正则 ... -
JavaScript中“基本类型”之争
2013-10-04 20:58 1012前端面试中常被问到的问题之一就是“JavaScript的基本 ... -
ES3和ES5关于计算顺序的问题(ES5先计算函数ES3则是参数)
2013-09-13 23:35 1233从cmc那看到的,分享给园友。以下是一个怪异的代码,谁 ... -
一道关于"/g"笔试题
2013-07-26 07:13 974正则里“g”表示全局(global)的意思,比如当替换字符串 ... -
JavaScript原型继承的陷阱
2013-05-27 20:51 1302JavaScript默认采用原型 ... -
JavaScript中__proto__与prototype的关系
2013-05-21 10:38 1374这里讨论下对象的内 ... -
JavaScript中__proto__与prototype的关系
2013-05-21 10:01 3这里讨论下对象的内 ...
相关推荐
嵌入式经典面试题嵌入式经典面试题嵌入式经典面试题嵌入式经典面试题嵌入式经典面试题
10万字208道Java经典面试题总结(附答案).pdf 10万字208道Java经典面试题总结(附答案).pdf 10万字208道Java经典面试题总结(附答案).pdf 10万字208道Java经典面试题总结(附答案).pdf 10万字208道Java经典面试题总结(附...
Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 ...
C ++经典面试题C ++经典面试题C ++经典面试题C ++经典面试题C ++经典面试题C ++经典面试题C ++经典面试题
PHP经典面试题 PHP经典面试题 PHP经典面试题 PHP经典面试题 PHP经典面试题
SQL经典面试题及答案 SQL经典面试题及答案
面试时整理的资料,大家可以看看,面试的java题目,面试时整理的资料,大家可以看看,面试的java题目
vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典...
2022年SQL数据库经典面试题笔试题 (2).pdf2022年SQL数据库经典面试题笔试题 (2).pdf2022年SQL数据库经典面试题笔试题 (2).pdf2022年SQL数据库经典面试题笔试题 (2).pdf2022年SQL数据库经典面试题笔试题 (2).pdf2022...
java经典面试题(典藏版)java经典面试题(典藏版)java经典面试题(典藏版)java经典面试题(典藏版)java经典面试题(典藏版)
cobol面试题 cobol面试题 cobol面试题
各公司经典面试题选取
Spring经典面试题Spring经典面试题Spring经典面试题Spring经典面试题
c语音经典面试题,来自培训机构内部面试题库。
sqlserver 经典面试题。详细说明面试重点,值得参考
IT行业经典面试题,121套面试题 IT行业经典面试题,121套面试题 IT行业经典面试题,121套面试题 IT行业经典面试题,121套面试题
sql经典面试题 mysql 很好的面试题 sql经典面试题 mysql 很好的面试题 sql经典面试题 mysql 很好的面试题 sql经典面试题 mysql 很好的面试题 sql经典面试题 mysql 很好的面试题 sql经典面试题 mysql 很好的面试题 ...
50+Vue经典面试题详解,你值得收藏.50+Vue经典面试题详解,你值得收藏.50+Vue经典面试题详解,你值得收藏.50+Vue经典面试题详解,你值得收藏.50+Vue经典面试题详解,你值得收藏.50+Vue经典面试题详解,你值得收藏.50...
C++经典面试题 C++经典面试题 C++经典面试题 C++经典面试题 C++经典面试题
绝对经典的java面试题,从各个公司面试收集的java面试题,几乎包含所有的java知识。