最近发现一些好玩的JAVASCRIPT特性,其实也是es3的一些细小的东西,写出来给自己记录一下。
首先是Dmitry Soshnikov大牛的10道测试题,看了之后,发现自己还真有好多玩意不知道,还需要继续努力啊。
1. What’s the result of:
typeof typeof(null)
“undefined”
SyntaxError
“string”
“object”
TypeError
2. Are the algorithms of the following checks completely equvalent?
typeof foo == 'undefined'
and
typeof foo === 'undefined'
Yes
No
3. What’s the result of:
100['toString']['length']
100
3
1
8
0
SyntaxError
4. What’s the result of:
var a = (1,5 - 1) * 2
0.999999999
1
0.5
8
-0.5
4
5. What’s the result of:
var x = 10;
var foo = {
x: 20,
bar: function () {
var x = 30;
return this.x;
}
};
console.log(
foo.bar(),
(foo.bar)(),
(foo.bar = foo.bar)(),
(foo.bar, foo.bar)()
);
20, 20, 20, 20
20, 20, 10, 10
20, 20, 20, 10
20, 20, 10, 30
20, 10, 10, 10
20, 10, 30, SyntaxError
6. What’s the result of:
function f(x, y) {
x = 10;
console.log(
arguments[0],
arguments[1]
);
}
f();
10, null
10, undefined
undefined, undefined
10, NaN
10, 10
7. What’s the result of:
var
b = 10,
c = (
20,
function (x) { return x + 100},
function () { return arguments[0]}
);
a = b + c
({x: 10}).x
30, 10
20
10
30, 110
NaN, 10
8. What’s the result of:
1..z
SyntaxError
New Range object (equivalent to new Range(1, ‘z’)) including all numbers and letters
undefined
Error of Range object (incompatible types for range: number and string)
ReferenceError “z” is not defined
9. What’s the result of:
({
x: 10,
foo: function () {
function bar() {
console.log(x);
console.log(y);
console.log(this.x);
}
with (this) {
var x = 20;
var y = 30;
bar.call(this);
}
}
}).foo();
20, 30, 20
10, 30, 10
20, undefined, 10
undefined, 30, 20
SyntaxError
20, 30, 10
10. What’s the result of:
foreach (k in {a: 10, b: 20})
{
// ...
}
Always SyntaxError
ReferenceError or possibly no error
Always ReferenceError
Iteration over the object values
Iteration over the object keys
TypeError or possibly SyntaxError
相信不是大牛的话,即使看到正确答案也有很多不解,毕竟,人家大神说了,
if some questions seem to be hard, you can use console (that’s not a cheating, because some questions are hard).
详细解答,可以参看大神给出的解释页面
http://joseanpg.net/jslab/quiz/soshnikov/answers.html
其次是正美给的两个试题页面,这个之前倒是看过,而且难度较以上10题较为简单,具体可以参看司徒正美同学的页面
http://www.cnblogs.com/rubylouvre/archive/2010/01/28/1658434.html
http://www.cnblogs.com/rubylouvre/archive/2010/02/13/1667565.html
分享到:
相关推荐
JavaScript编的 看看你能不能围住它
JavaScript ES6新增特性
介绍了语法、值、运算符、布尔类型、数字、字符串、语句、异常捕获、函数、变量、对象与继承、数组、正则表达式、Date、Math、JSON、标准全局变量、编码和JavaScript、ECMAScript 5的新特性等内容;第4部分介绍技巧...
以下是一些常见的前端动画素材的技术实现方式: CSS 动画:使用 CSS 属性(如@keyframes、transition、transform等)来实现动画效果。这种方式简单易用,适合实现简单的动画效果,如过渡、旋转、缩放等。 ...
JavaScript语言的特性和应用.pdf
javascript面向对象特性代码实例.docx
Javascript面向对象特性实现(封装、继承、接口 Javascript面向对象特性实现(封装、继承、接口
javascript一些问题解答 javascript一些问题解答
这篇文章将带您探究JavaScript的一些特性,看看这些特性如何让它如此具有吸引力。高阶函数:一个高阶函数可以将函数作为参数,也可以返回一个函数。此特性让JavaScript程序员可以用Java语言所不能提供的方法来操纵...
JavaScript语言的特性和应用 (1).pdf
传统方式对JavaScript的应用基本上是基于过程模型的,若在JavaScript中利用面向对象的思想进行代码编写,将会使得代码具有良好的结构和逻辑性,更便于管理和维护。本文让读者看到JavaScript如何实现面向对象编程并...
介绍JavaScript应用的一些技巧,很实用
深入理解 JavaScript 异步
网页中的图片变动的效果直接粘贴到浏览器地址栏里运行就可以看到效果了 记得先打开个图片多的页面 代码如下:[removed]R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200;...
javascript基础练习,一些有趣的小游戏javascript基础练习,一些有趣的小游戏javascript基础练习,一些有趣的小游戏javascript基础练习,一些有趣的小游戏javascript基础练习,一些有趣的小游戏javascript基础练习,...
5个好玩的github游戏区开源项目,包含c++,java,javascript,rust。
javascript-idiosyncrasies, 对初学者的一组Javascript特性 JavaScript特性这是一个 Collection 中的事物,可以能无法被识别,espcially是初学者。免责声明:其中一些代码Fragment只是演示了 JavaScript 奇怪的部分...
使用 JavaScript 文件特性,给 JavaScript 传递参数,原创资源,请各位朋友积极点评,谢谢!
ppt主要介绍:ArcGIS API for JavaScript 在Web应用开发中定位; ArcGIS API for JavaScript 4.x 架构浅析;...ArcGIS API for JavaScript 新特性。 让用户或开发者对ArcGIS API for JavaScript有一个全面的认识。
确切地说,作者并非是想讨论JavaScript作为一种语言工具的用法或特性,更多地是希望用一种简洁的语言来讨论动态语言、函数式语言。而为了给这些语言范型以参照,以及讲述多范型如何“杂凑”在一起,也讨论了...