zoukankan      html  css  js  c++  java
  • 看看国外的javascript题目,你能全部做对吗?

    看看国外的javascript题目,你能全部做对吗?

    叶小钗 的博客最近都在讨论面试题目

    正好以前也看过一篇,就借花献佛拿出来分享一下 http://perfectionkills.com/javascript-quiz/

    附带了自己的理解,答案有争议的地方欢迎大家指出

    题目一

    2
    3
    4
    (function(){
      return typeof arguments;
    })();
     "object"
    arguments是对象,伪数组有两件事要注意这里:
    参数不是数组,它是一个数组一样的物体,你可以使用方括号和整数索引的元素,但方法通常可在一个如推上不存在参数数组
    Array.prototype.slice.call(arguments); 转成数组
    当然arguments即使是数组,返回的依然是"object",因为数组也是对象,附加:typeof 对类型的判断
    https://developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Operators/typeof

    题目二

    2
    3
    var f = function g(){ return 23; };
    typeof g();
    会发生错误
    因为function g(){ return 23; }是函数表达式,事实上只有事一个名字,不是一个函数声明
    函数实际上是绑定到变量f,不是g.
    指定的标识符在函数表达式虽然有其用途:堆栈跟踪是清晰而不是充斥着无名的函数,你可以有一个匿名函数递归调用本身不使用argument.callee
    附非常详细的帖子函数表达式
    http://kangax.github.io/nfe/

    题目三

    2
    3
    4
    5
    (function(x){
      delete x;
      return x;
    })(1);
     答案

    题目四

    2
    3
    var y = 1, x = y = typeof x;
    x;
     答案

    题目五

    2
    3
    4
    (function f(f){
      return typeof f();
    })(function(){ return 1; });
     答案

    题目六

    复制代码
    var foo = {  
      bar: function() { return this.baz; },  
      baz: 1 
    }; 
    
    (function(){  
      return typeof arguments[0](); 
    })(foo.bar);
    复制代码
    答案

    题目七

    var foo = { 
      bar: function(){ return this.baz; }, 
      baz: 1 
    } 
    typeof (f = foo.bar)();
    答案
    
    

    题目八

    var f = (function f(){ return "1"; }, function g(){ return 2; })(); 
    typeof f;
    答案

    题目九

    var x = 1; 
    if (function f(){}) { 
      x += typeof f; 
    } 
    x;
    答案

    题目十

    (function f(){ 
      function f(){ return 1; } 
      return f(); 
      function f(){ return 2; } 
    })();
    答案

    题目十一

    function f(){ return f; } 
    new f() instanceof f;
    答案

    题目十二

    function(foo){ 
      return typeof foo.bar; 
    })({ foo: { bar: 1 } });
    答案

    题目十三

    function(foo){ 
      return typeof foo.bar; 
    })({ foo: { bar: 1 } });
    答案

    题目十四

    with (function(x, undefined){}) length;
    答案
     
     
    分类: javascript
  • 相关阅读:
    java_实现接口的枚举类
    java_枚举类枚举值
    使用abstract关键字的使用
    final在类和方法中的使用
    构造方法的作用
    final在Java中的作用
    this和super不能同时出现在构造方法中
    构造方法和全局变量的关系
    IO流
    递归列出一个目录下所有的文件夹和文件
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3174593.html
Copyright © 2011-2022 走看看