zoukankan      html  css  js  c++  java
  • 3道值得收藏的Javascript题目,你理解吗?

    第一道:

    function foo(){
    	foo.abc = function(){alert('Alibaba')}
    	this.abc = function(){alert('Alimama')}
    	abc = function(){alert('Alipay')};
    	var abc = function(){alert('Taobao')}
    }
    foo.prototype.abc = function(){alert('Alisoft');}
    foo.abc = function(){alert('Yahoo');}
    var obj = new foo();
    obj.abc();
    foo.abc();
    abc();
    我们就直接针对这输出按顺序进行分析,
    执行顺序
    1.foo.prototype.abc = function(){alert('Alisoft');}
    //这样之后,我们就可以用obj.abc();不懂prototype原型的,可以看这个prototype原型继承
    2.foo.abc = function(){alert('Yahoo');}
    //alert yahoo
    3.var obj = new foo();
    //创建一个foo的实例obj,同时,执行了foo函数,也就是obj.abc() = function(){alert('Alimama')}
    4.foo.abc = function(){alert('Alibaba')}
    //foo.abc是foo类的静态方法,在实例化foo后执行了代码片段foo.abc = function()
    //覆盖了原来的foo.abc = function(){alert('Yahoo');},所以foo.abc()输出alibaba
    5.this.abc = function(){alert('Alimama')}
    //这句话把function(){alert('Alimama')赋给了obj.abc,所以obj.abc输出alimama
    6.abc = function(){alert('Alipay')};
      var abc = function(){alert('Taobao')};
    //这两句一起分析,如果没有下一句,那么abc是个全局变量,abc输出alipay
    //但是因为下一句var abc之后,abc的作用域被限制在foo类里,所以外部的abc()会显示未定义.

      alimama   alibaba  undefined

    第二道:

    = function() { return true; };
    = function() { return false; };

    (
    function() {
        
    if (g() && [] == ![]) {
            f 
    = function f() { return false; };
            
    function g() { return true; }
        }
    })();

    alert(f()); 
    // true or false ?

    true

    第三道:

    var o = {
        m: 
    function() {
            
    return this.length;
        },
        length: 
    1
    };
    var m = o.m;
    alert(m()); 
    // 请问输出什么? 并解释为什么。

    0

  • 相关阅读:
    hadoop集群管理之 SecondaryNameNode和NameNode
    无法fsck问题解决
    处世
    [THUSC2016]成绩单
    Python安装官方whl包、tar.gz包、zip包
    poj1159 Palindrome 动态规划
    hoj1249 Optimal Array Multiplication Sequence 矩阵链乘
    hoj分类(转)
    hoj 2012 winter training Graph Day1 106 miles to Chicago图论最短路dijkstra算法
    poj1050 To the Max
  • 原文地址:https://www.cnblogs.com/xiaopin/p/1881793.html
Copyright © 2011-2022 走看看