美文网首页
每日一题-0714

每日一题-0714

作者: 小妹呀 | 来源:发表于2020-07-14 17:10 被阅读0次
function Foo () {
  getName = function () {
    console.log(1);
  };
  return this;
}
Foo.getName = function () {
  console.log(2)
}
Foo.prototype.getName = function () {
  console.log(3)
}
var getName = function () {
  console.log(4)
}
function getName () {
  console.log(5);
}
Foo.getName();
Foo().getName();
getName();
new Foo.getName();
new new Foo().getName();

以上的输出结果是什么?


1、Foo.getName();//2
解释:这个应该没问题,直接访问原型属性,属性方法返回结果


2、Foo().getName();// 1
解释:执行Foo函数,getName是全局属性,返回的this指向window,相当于执行window.getName(),输出 1


3、getName();//1
解释
一、 先看getName的声明有处,按定义先后顺序:

  • var关键字声明了一个全局getName
  • function关键字声明了一个全局getName
  • Foo构造函数中声明了一个全局getName

二、分析输出结果:

  • var(函数表达式)function(函数声明)都存在变量提升,提升后的结果是这样的
var getName;
function getName () {
  console.log(5);
}
getName = function () {
  console.log(4)
}
// 这时window.getName输出4
  • 上一步执行了Foo(),将window.getName重新定义了,所以getName输出1

4、new Foo.getName();//2
解释: 通过new 来返回一个 Foo.getName 的实例,就相当于Foo.getName是一个构造函数,可以通过以下方法验证

var bar = new Foo.getName();
bar.__proto__.constructor === Foo.getName //true

5、new new Foo().getName();
解释:按照new操作符拆分一下就是new ( (new Foo()).getName )();

var a = new Foo();
var b = a.getName; // a.getName 指向Foo.protoType.getName
new b(); // 3

相关文章

  • 每日一题-0714

    以上的输出结果是什么? 1、Foo.getName();//2解释:这个应该没问题,直接访问原型属性,属性方法返回...

  • Day 4 Project 我的微信好友

    附:每日一题

  • 每日精进0714

    今天浏览公众号推文的时候看到一句古语,比较喜欢,起初不太能懂其内涵,又百度了它的本意,: 《大学》说:“知止而后有...

  • 每日一题-2017-09-01

    2017.9.1每日一题: A senior manager responsible for business t...

  • 20170714周检视

    2017 0714周检视 姓名:戴彩丽 自我梳理:参加践行活动的目的 1、坚持早睡早起,每日写晨间日记,做反思的习...

  • 【mysql经典题】数据准备

    注意: 每日一题,大家一起监督、讨论学习。

  • 周检视

    2018周检视(0708-0714) 与时具进,不断学习! 2018-07-0714 19:26 字数 日记本 ...

  • 我是阿布,2018,我们一起极致践行!

    【每日分享0714】 001.今晚猫叔碎碎念说,要列出学习主题,挨个啃,然后写碎碎念。阿布要听话照做。(学习渠道:...

  • 每日一题: Piscasso框架

    每日一题: Piscasso框架 GlideFrescoPicasso_1Picasso_2 面试率: ★★★☆☆...

  • 父母的语言真的很重要

    每日一践0714: “你还是那么优秀,在我眼里你一直都那么优秀。我们只跟自己比。”(当说到班上很多同学学习...

网友评论

      本文标题:每日一题-0714

      本文链接:https://www.haomeiwen.com/subject/exufhktx.html