zoukankan      html  css  js  c++  java
  • 100道JS构造函数面试题

    1.

    var User = {
      count: 1,
      getCount: function () {
        return this.count;
      } };
    console.log(User.getCount()); // 1
    var func = User.getCount;
    console.log(func()); // undefined

    执行过程:

    console.log(User.getCount());     // 1

    getCount函数被User对象调用,所以this指向的是User。

    console.log(func());              // undefined

    func变量接收的是一个函数体:

    function () {
      return this.count;  
    }

    所以, func()执行的时候, this指的是window, 而window中没有count这个属性。 所以,返回的是undefined。

    2.

    var name = "The Window";
    
    var object = {
      name : "My Object",

      getNameFunc: function () {
        return function () {
          return this.name;
        };
      } };
    alert(object.getNameFunc()()); //"The Window" (在非严格模式下)

    执行过程:

    以上代码先创建了一个全局变量 name, 又创建了一个包含 name 属性的对象。

  • 相关阅读:
    L1-046. 整除光棍
    L2-014. 列车调度
    L2-009. 抢红包
    L2-005. 集合相似度
    L2-021. 点赞狂魔
    L1-033. 出生年
    设计模式之生成器模式
    设计模式之抽象工厂模式
    设计模式之工厂方法模式
    设计模式之简单工厂模式
  • 原文地址:https://www.cnblogs.com/still1/p/10699644.html
Copyright © 2011-2022 走看看