Java Script 几个比较有意思的题目
2012-09-28 16:36
375 查看
1.局部变量和全局变量
你的输出是什么?这个很简单吧。那么来一个难一点的。
你的输出是什么?还是2 ,1 吗 ?如果你认为是,ok,你要try一下,看一下你的推断是不是正确了。
分析:
a在test函数中会找声明语句,如果之前没有声明,会自动var a。这是a为undefined。此时a++,那么返回的结果是一个NaN
第二个就很简单了,no doubt,1.
2 Null 和Undefine 下载表达式为true是那一个呢?
A.null
instanceof Object
B.null === undefined
C.null == undefined
D.NaN == NaN
答案是C啦
具体区别看别人的blog了,/article/1777916.html
3 函数命名作用域
A .1
B.NaN
C.1undefined
答案是C,为什么呢 ?
function f在if条件内,用()包含,属于闭包运算,在()之内使用有效,反之为Undefined
另外一个原因是数字和字符相加转化为字符。
4
function f(){ return
f; }
var RET = (new f()
instanceof f);
var RET2 = (new f()
=== f);
alert(RET);
alert(RET2);
输出什么?false true
表示不理解,别人的解释:
此题考查是prototype与constructor,再看一下Javascript Objec Layout(猛一看有点晕,稳住就好了)。
如:A instanceof B. 其中,A必须是一个合法的JavaScript对象,B必须是一个合法的JavaScript函数 (function). 判断过程如下:
如果函数B在对象A的原型链 (prototype chain) 中被发现,那么instanceof操作符将返回true,否则返回false.
5 声明顺序
var y = 1, x = y = typeof x;
var RET = x;
A.1
B."number"
C.undefined
D."undefined"
此题考察变量声明以及运算顺序 :-) !
var n=1; function test(){ n++; alert(n); var a=1; alert(a); } test();
你的输出是什么?这个很简单吧。那么来一个难一点的。
var a=1; function test(){ a++; alert(a); var a=1; alert(a); } test();
你的输出是什么?还是2 ,1 吗 ?如果你认为是,ok,你要try一下,看一下你的推断是不是正确了。
分析:
a在test函数中会找声明语句,如果之前没有声明,会自动var a。这是a为undefined。此时a++,那么返回的结果是一个NaN
第二个就很简单了,no doubt,1.
2 Null 和Undefine 下载表达式为true是那一个呢?
A.null
instanceof Object
B.null === undefined
C.null == undefined
D.NaN == NaN
答案是C啦
具体区别看别人的blog了,/article/1777916.html
3 函数命名作用域
var x = 1; if (function f() {}) { x += typeof f; } alert(x);
A .1
B.NaN
C.1undefined
答案是C,为什么呢 ?
function f在if条件内,用()包含,属于闭包运算,在()之内使用有效,反之为Undefined
另外一个原因是数字和字符相加转化为字符。
4
function f(){ return
f; }
var RET = (new f()
instanceof f);
var RET2 = (new f()
=== f);
alert(RET);
alert(RET2);
输出什么?false true
表示不理解,别人的解释:
此题考查是prototype与constructor,再看一下Javascript Objec Layout(猛一看有点晕,稳住就好了)。
如:A instanceof B. 其中,A必须是一个合法的JavaScript对象,B必须是一个合法的JavaScript函数 (function). 判断过程如下:
如果函数B在对象A的原型链 (prototype chain) 中被发现,那么instanceof操作符将返回true,否则返回false.
5 声明顺序
var y = 1, x = y = typeof x;
var RET = x;
A.1
B."number"
C.undefined
D."undefined"
what? D
此题考察变量声明以及运算顺序 :-) !var y, x; // y=undefined, x=undefined y = 1; // y=1 y = typeof x; // y="undefined" x = y; // x="undefined"
相关文章推荐
- java 每日习题(十二) 题目:通过输入的第一个字母识别指定的几个单词
- 初学java:题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字,几个数相加有键盘控制。
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- 使用Java进行远程方法调用的几个方案及比较
- 朋友要招几个java,让帮忙出点面试题目
- 一些比较有意思的题目
- java 基础重写string类的几个比较重要的方法(replaceAll 和split)
- 比较Java和C++的几个修饰符
- 几个有意思的算法题目
- Linux内核中几个比较有意思的解释(进程调度算法,页面调度算法,非线性工作集)
- 一道比较有意思的Java面试题
- 比较Java中几个常用集合添加元素的效率
- 看到一个比较有意思的题目,记下来
- 比较Java和C++的几个修饰符
- java actionscript 3.0 的语法比较
- Linux内核中几个比较有意思的解释(进程调度算法,页面调度算法,非线性工作集)
- 看到的比较有意思的几个算法
- 一道比较有意思的Java面试题
- Java实现正则匹配出script标签中字符串包含某个几个单词的所有行,以及编码转换
- 几个比较”有意思“的JS脚本