[转] 考验你的JavaScript底细
http://sentsin.com/
尽管今日的JavaScript已经突飞猛进,但JS的许多特性仍然保留,以下题目并不是有意设坑,许多地方将验证你的JS底细,如果错了一半,请别告诉我你从事前端。
- 1.
(function(){
return typeof arguments;
})();- "object"
- "array"
- "arguments"
- "undefined"
- 2.
var f = function g(){
return 23;
};
typeof g();- "number"
- "undefined"
- "function"
- Error
- 3.
(function(x){
delete x;
return x;
})(1);- 1
- null
- undefined
- Error
- 4.
var y = 1, x = y = typeof x;
x;- 1
- "number"
- undefined
- "undefined"
- 5.
(function f(f){
return typeof f();
})(function(){ return 1; });- "number"
- "undefined"
- "function"
- Error
- 6.
var foo = {
bar: function() {
return this.baz;
},
baz: 1
};
(function(){
return typeof arguments[0]();
})(foo.bar);- "undefined"
- "object"
- "number"
- "function"
- 7.
var foo = {
bar: function(){
return this.baz;
},
baz: 1
}
typeof (f = foo.bar)();- "undefined"
- "object"
- "number"
- "function"
- 8.
var f = (
function f(){
return "1";
},
function g(){
return 2;
}
)();
typeof f;- "string"
- "number"
- "function"
- "undefined"
- 9.
var x = 1;
if (function f(){}) {
x += typeof f;
}
x;- 1
- "1function"
- "1undefined"
- NaN
- 10.
var x = [typeof x, typeof y][1];
typeof typeof x;- "number"
- "string"
- "undefined"
- "object"
- 11.
(function(foo){
return typeof foo.bar;
})({ foo: { bar: 1 } });- "undefined"
- "object"
- "number"
- Error
- 12.
(function f(){
function f(){ return 1; }
return f();
function f(){ return 2; }
})();- 1
- 2
- Error (e.g. "Too much recursion")
- undefined
- 13.
function f(){ return f; }
new f() instanceof f;- true
- false
- 14.
with (function(x, undefined){}) length;- 1
- 2
- undefined
- Error
思考题:
如何改变 undefined的typeof类型 ? (即 typeof undefined 或者 typeof(undefined) 都不为"undefined" )
[转] 考验你的JavaScript底细的更多相关文章
- JavaScript插件——按钮
Bootstrap3.0学习第二十四轮(JavaScript插件——按钮) 前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/ ...
- javascript学习教程
我来班门弄斧一下吧,把我JavaScript学习过程中常去的一些网站分享给大家: =========================增加================================ ...
- 关于 JavaScript 学习 —— 好的博客或者网站推荐
作者:Tw93链接:https://www.zhihu.com/question/19651401/answer/46211739来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收
执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
- 《Web 前端面试指南》1、JavaScript 闭包深入浅出
闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...
随机推荐
- Spring MVC源码分析(续)——请求处理
转自:http://blog.csdn.net/shi1122/article/details/8041017 (转移位置了,时光隧道:http://www.jmatrix.org/spring/50 ...
- Junit4拓展工具JCategory与Testng的Group功能比较
前言 笔者前段时间分享过一遍文章,关于如何通过引入新注解来扩展Junit4,以解决Process上的问题: JUnit扩展:引入新注解Annotation 最近在跟外面的同事聊的时候,得知Testng ...
- Python/Keras如何将给定的数据集打乱
给定数据集data,数据集对应的标签label index = [i for i in range(len(data))] random.shuffle(index) data = data[inde ...
- iOS获取键盘的高度
- lc面试准备:Remove Duplicates from Sorted List
1 题目 Given a sorted linked list, delete all duplicates such that each element appear only once. For ...
- Learning WCF Chapter 3 Bindings One-Way and Duplex Communication
One-Way and Duplex Communication A message exchange pattern describes the way messages are sent betw ...
- js图片预览插件,不涉及上传
小小的几十行代码,很牛逼,很实用. 支持多个图片的预览,只要new多个对象就行了. html如下 <!-- zhouxiang www.zhou-xiang.com --> <!DO ...
- Linux学习笔记16——wait函数
wait函数的定义如下: #include <sys/types.h> #include <sys/wait.h> pid_t wait(int *stat_loc); wai ...
- HDOJ/HDU 2560 Buildings(嗯~水题)
Problem Description We divide the HZNU Campus into N*M grids. As you can see from the picture below, ...
- Eclipse的下载和安装
下载 Android开发首选Eclipse for Android Developers版本,里面集成了ADT(Android Development Tools). 下载页面:http://www. ...