http://sentsin.com/

尽管今日的JavaScript已经突飞猛进,但JS的许多特性仍然保留,以下题目并不是有意设坑,许多地方将验证你的JS底细,如果错了一半,请别告诉我你从事前端。

  1. 1.

    (function(){
    return typeof arguments;
    })();
    • "object"
    • "array"
    • "arguments"
    • "undefined"
  2. 2.
    var f = function g(){
    return 23;
    };
    typeof g();
    • "number"
    • "undefined"
    • "function"
    • Error
  3. 3.
    (function(x){
    delete x;
    return x;
    })(1);
    • 1
    • null
    • undefined
    • Error
  4. 4.
    var y = 1, x = y = typeof x;
    x;
    • 1
    • "number"
    • undefined
    • "undefined"
  5. 5.
    (function f(f){
    return typeof f();
    })(function(){ return 1; });
    • "number"
    • "undefined"
    • "function"
    • Error
  6. 6.
    var foo = {
    bar: function() {
    return this.baz;
    },
    baz: 1
    };
    (function(){
    return typeof arguments[0]();
    })(foo.bar);
    • "undefined"
    • "object"
    • "number"
    • "function"
  7. 7.
    var foo = {
    bar: function(){
    return this.baz;
    },
    baz: 1
    }
    typeof (f = foo.bar)();
    • "undefined"
    • "object"
    • "number"
    • "function"
  8. 8.
    var f = (
    function f(){
    return "1";
    },
    function g(){
    return 2;
    }
    )();
    typeof f;
    • "string"
    • "number"
    • "function"
    • "undefined"
  9. 9.
    var x = 1;
    if (function f(){}) {
    x += typeof f;
    }
    x;
    • 1
    • "1function"
    • "1undefined"
    • NaN
  10. 10.
    var x = [typeof x, typeof y][1];
    typeof typeof x;
    • "number"
    • "string"
    • "undefined"
    • "object"
  11. 11.
    (function(foo){
    return typeof foo.bar;
    })({ foo: { bar: 1 } });
    • "undefined"
    • "object"
    • "number"
    • Error
  12. 12.
    (function f(){
    function f(){ return 1; }
    return f();
    function f(){ return 2; }
    })();
    • 1
    • 2
    • Error (e.g. "Too much recursion")
    • undefined
  13. 13.
    function f(){ return f; }
    new f() instanceof f;
    • true
    • false
  14. 14.
    with (function(x, undefined){}) length;
    
    • 1
    • 2
    • undefined
    • Error
思考题:
如何改变 undefined的typeof类型 ? (即 typeof undefined 或者 typeof(undefined) 都不为"undefined" )

[转] 考验你的JavaScript底细的更多相关文章

  1. JavaScript插件——按钮

    Bootstrap3.0学习第二十四轮(JavaScript插件——按钮)   前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/ ...

  2. javascript学习教程

    我来班门弄斧一下吧,把我JavaScript学习过程中常去的一些网站分享给大家: =========================增加================================ ...

  3. 关于 JavaScript 学习 —— 好的博客或者网站推荐

    作者:Tw93链接:https://www.zhihu.com/question/19651401/answer/46211739来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  6. Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收

    执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...

  7. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  8. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  9. 《Web 前端面试指南》1、JavaScript 闭包深入浅出

    闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...

随机推荐

  1. Oracle数据库常用函数

    Oracle常用函数: 20.COS返回一个给定数字的余弦SQL> select cos(-3.1415927) from dual;COS(-3.1415927)--------------- ...

  2. 通过阅读ASP.NET MVC5 框架解密 路由的一点心得

    路由: 1.在ASP.NET中路由不专属与ASP.NET MVC,因为路由(Route)是在system.web 命名空间下的,所以传统的WebForm也可以使用路由. 2.什么叫做路由 采用某种机制 ...

  3. 转:靠谱的代码和DRY

    http://www.cppblog.com/vczh/archive/2014/07/15/207658.html 靠谱的代码和DRY 上次有人来要求我写一篇文章谈谈什么代码才是好代码,是谁我已经忘 ...

  4. 精心挑选的12款优秀 jQuery Ajax 分页插件和教程

    在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示.Ajax 技术的出现使得 Web 项目的用户体验有了极大的提高,如今借助优秀的  ...

  5. bzoj 1257: [CQOI2007]余数之和sum 数学 && 枚举

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1779  Solved: 823[Submit][Sta ...

  6. 关于用xercesImpl包解析xml文件遇中文报错问题

    今天在运行项目时报错: Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: 3 字节 UTF-8 序列的字节 3 ...

  7. Qt写的截图软件包含源代码和可执行程序

    http://blog.yundiantech.com/?log=blog&id=14 Qt写的截图软件包含源代码和可执行程序 http://download.csdn.net/downloa ...

  8. Activity 怎样获得另一个xml布局文件的控件

    两个布局文件,一个main.xml,一个main2.xml,一个MActivity,在MActivity的onCreate()里设置的是setContentView(R.layout.main).现在 ...

  9. Android中moveTo、lineTo、quadTo、cubicTo、arcTo详解(实例)

    1.Why 最近在写android画图经常用到这几个什么什么To,一开始还真不知道cubicTo这个方法,更不用说能不能分清楚它们了,所以特此来做个小笔记,记录下moveTo.lineTo.quadT ...

  10. WindowsPhone 8 开发 之 本地数据库应用

    微软提供的有一个本地数据库的例子 http://code.msdn.microsoft.com/wpapps/Local-Database-Sample-57b1614c 可以进行参照. 里边最核心的 ...