- 浏览: 1174490 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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
评论
15 楼
hiqrf
2010-04-18
lbfhappy 写道
hiblue 写道
x = y+0*(y=x);
这个实际上是有隐含变量的.
这个实际上是有隐含变量的.
你指的隐含变量是哪个?
用来保存0*(y=x)的值,你研究一下编译原理就明白了。
14 楼
lbfhappy
2010-04-18
<div class="quote_title"><br></div>
<div class="quote_div">
<p>但如果两个变量是对象类型,java(强类型)貌似无能为力了。js却可以,实现方式还不少,如下:</p>
<p> </p>
<pre name="code" class="js">var a = {name:'jack'},b = {name:'tom'};
a = [a,b];
b = a[0];
a = a[1];
console.log(a.name+'\n'+b.name)</pre>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>如果是这样的话,JAVA也可以啊。</p>
<p> </p>
<pre name="code" class="java"> Object x = 10;
Object y = 20;
x = new Object[]{x, y};
y = ((Object[]) x)[0];
x = ((Object[]) x)[1];
System.out.println("x=" + x + ",y=" + y);</pre>
<div class="quote_div">
<p>但如果两个变量是对象类型,java(强类型)貌似无能为力了。js却可以,实现方式还不少,如下:</p>
<p> </p>
<pre name="code" class="js">var a = {name:'jack'},b = {name:'tom'};
a = [a,b];
b = a[0];
a = a[1];
console.log(a.name+'\n'+b.name)</pre>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>如果是这样的话,JAVA也可以啊。</p>
<p> </p>
<pre name="code" class="java"> Object x = 10;
Object y = 20;
x = new Object[]{x, y};
y = ((Object[]) x)[0];
x = ((Object[]) x)[1];
System.out.println("x=" + x + ",y=" + y);</pre>
13 楼
lbfhappy
2010-04-18
hiblue 写道
x = y+0*(y=x);
这个实际上是有隐含变量的.
这个实际上是有隐含变量的.
你指的隐含变量是哪个?
12 楼
hiblue
2010-04-17
x = y+0*(y=x);
这个实际上是有隐含变量的.
这个实际上是有隐含变量的.
11 楼
naily
2010-04-17
hiqrf 写道
i2534 写道
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个太赞了
这个 低层 用了中间变量
?
算违背题意吗
10 楼
hiqrf
2010-04-17
i2534 写道
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个太赞了
这个 低层 用了中间变量
9 楼
三问飞絮
2010-04-17
最多算笔试题。
目前对于企业应用,算法并不重要。
目前对于企业应用,算法并不重要。
8 楼
i2534
2010-04-17
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个太赞了
7 楼
lifesinger
2010-04-17
js 1.6:
var x = 1, y = 2;
[x,y] = [y, x];
这样就可以了。目前 firefox 支持。
var x = 1, y = 2;
[x,y] = [y, x];
这样就可以了。目前 firefox 支持。
6 楼
luffyke
2010-04-17
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
确实,这个不错
5 楼
ronartest
2010-04-17
这也叫经典阿?
大概您没面试过吧?
大概您没面试过吧?
4 楼
satanest
2010-04-17
phenix9527 写道
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
这个方法厉害
3 楼
phenix9527
2010-04-17
int x = 10;
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
int y = 20;
x = y+0*(y=x);
这个方法比较好,我以前有看到过
2 楼
lyw985
2010-04-17
Zahir 写道
第一种方式
a = Integer.MAX_VALUE;
b = 1;
咋整
a = Integer.MAX_VALUE;
b = 1;
咋整
一样可以用
1 楼
Zahir
2010-04-17
第一种方式
a = Integer.MAX_VALUE;
b = 1;
咋整
a = Integer.MAX_VALUE;
b = 1;
咋整
发表评论
-
JavaScript获取图片的原始尺寸
2016-04-20 10:30 1651页面里的img元素,想要 ... -
JavaScript中奇葩的假值
2016-03-14 17:43 1224通常在以下语句结构中需要判断真假 if分支语句 whi ... -
世界上最短的数字判断代码
2016-03-14 16:21 1644我们知道JavaScript提供了typeof运算符,因此最 ... -
getBoundingClientRect在IE9/10里的bug
2015-01-12 08:30 1705getBoundingClientRect可以获得页面中某个 ... -
JavaScript中的直接量与初始器的区别
2014-11-08 06:09 1692很多代码优化及公司规范都会提到 写对象不应该 var ... -
JavaScript中的不可见数据类型
2014-11-02 11:08 1348JS提供了一些内置对象、函数和构造器供我们编程,如Math ... -
ES5严格模式
2014-10-08 18:20 1311严格模式(Strict mode)是由ECMA-262规范 ... -
JavaScript生成GUID的算法
2014-07-16 14:25 3051全局唯一标识符(GUID,Globally Unique ... -
JavaScript中点号“.”的多义性
2014-06-07 19:42 1697点号「.」在JavaScript中 ... -
冗余换性能-从Backbone的triggerEvents说开了去
2014-02-19 11:03 999Backbone是一个优秀的前端MVC库,它的代码质量必定 ... -
JavaScript中delete操作符不能删除的对象
2013-11-27 13:21 1345ES3 中,delete在8.6.2.5及11.4.1有介 ... -
JavaScript中instanceof对于不同的构造器可能都返回true
2013-11-19 11:13 1261我们知道 instanceof 运算符用来检查对象是否为某 ... -
JavaScript里模拟sleep
2013-10-16 07:52 1578有几种方式,但都不完美 一、不断循环,直到达到指定时间 ... -
参数有中包含空格且使用Post提交时须将空格转换成加号
2013-10-14 08:07 5246jQuery的serialize模块中有个r20正则 ... -
JavaScript中“基本类型”之争
2013-10-04 20:58 1164前端面试中常被问到的问题之一就是“JavaScript的基本 ... -
ES3和ES5关于计算顺序的问题(ES5先计算函数ES3则是参数)
2013-09-13 23:35 1338从cmc那看到的,分享给园友。以下是一个怪异的代码,谁 ... -
一道关于"/g"笔试题
2013-07-26 07:13 1078正则里“g”表示全局(global)的意思,比如当替换字符串 ... -
JavaScript原型继承的陷阱
2013-05-27 20:51 1418JavaScript默认采用原型 ... -
JavaScript中__proto__与prototype的关系
2013-05-21 10:38 1488这里讨论下对象的内 ... -
JavaScript中__proto__与prototype的关系
2013-05-21 10:01 3这里讨论下对象的内 ...
相关推荐
Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 ...
java工程师社招经典面试题java工程师社招经典面试题java工程师社招经典面试题java工程师社招经典面试题java工程师社招经典面试题java工程师社招经典面试题java工程师社招经典面试题java工程师社招经典面试题java...
### Java经典面试题知识点 #### Java数据结构容器 - **核心知识点**:Java集合框架,包括List、Set、Map等接口及其实现类。List接口代表有序的集合,例如ArrayList和LinkedList;Set接口代表不允许重复元素的集合,...
Java经典面试题和答案Java经典面试题和答案Java经典面试题和答案Java经典面试题和答案Java经典面试题和答案Java经典面试题和答案Java经典面试题和答案Java经典面试题和答案Java经典面试题和答案Java经典面试题和答案...
vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典面试题及答案.rar vue经典...
下面,我们就来详细探讨一下C++经典面试题所涵盖的知识点。 首先,C++的基础部分通常包括以下几个方面: 1. **变量与数据类型**:理解不同类型的变量(如int, float, double, char等)以及它们的存储需求和运算...
嵌入式经典面试题.txt
java开发环境+大数据开发环境+mysql经典面试题+mysql概念学习 java开发环境+大数据开发环境+mysql经典面试题+mysql概念学习 java开发环境+大数据开发环境+mysql经典面试题+mysql概念学习 java开发环境+大数据开发...
UC面试题,里面包含uc经典面试题,是准备找uc工作的人的首选。
java经典面试题java经典面试题
Vue经典面试题汇总 本文总结了 Vue 中的经典面试题,涵盖了 Vue 生命周期、Vue Router 导航钩子、SCSS/LESS 预编译、Vuex 状态管理、导航钩子、组件传值、父子组件调用方法等多方面的知识点。 1. Vue 生命周期 在...
"前端75道经典面试题.rar"这个压缩包提供了互联网大厂常问的75道前端面试题,覆盖了基础到进阶的多个层面,是提升你面试能力的理想资料。以下是一些可能包含在这些面试题中的关键知识点: 1. **HTML与CSS**: - ...
java开发环境+大数据开发环境+mysql经典面试题+mysql概念学习 java开发环境+大数据开发环境+mysql经典面试题+mysql概念学习 java开发环境+大数据开发环境+mysql经典面试题+mysql概念学习 java开发环境+大数据开发...
阿里面试20题 百度面试10题 华为面试10题 京东面试13题 腾讯面试37题 头条面试10题 项目经理面试常遇问题 经典面试题 程序员 IT经理 项目经理 面试题 研发经理 高级程序员 经典面试题
SQL经典面试题及答案 从给定的文件信息中,我们可以总结出四个重要的SQL知识点: 一、使用GROUP BY语句来统计分类结果 在给定的部分内容中,我们可以看到一个经典的SQL面试题,即如何使用GROUP BY语句来统计分类...
《C语言经典面试题解析》 面试是评估潜在员工技能的重要环节,对于C/C++程序员而言,面试中常出现的经典问题往往围绕基础概念、编程技巧和逻辑思维能力。本文将深入探讨一些常见的C语言面试题,帮助你了解面试官...
java面试题100道,非常经典,希望对大家面试有所帮助。
【Linux内核经典面试题详解】 1. Linux内核锁:Linux内核中主要有自旋锁和信号量两种锁机制。自旋锁用于保护短暂的、不会引起阻塞的临界区,而信号量则允许任务在无法获取锁时进入睡眠状态,适合处理可能长时间持有...