摘要:那么下面的代码呢在这里在的前面添加了,这个函数就变成了一个构造函数,是一个由构造器创建的一个实例,所以在这里指向了
请问下面代码中的this值指向的是全局对象还是对象o?
function F () { function C() { return this; } return C(); } var o = new F(); console.log(o.constructor.name); // Object
这里的this指向全局对象,因为 C() call without new。
这里用正常的方式调用的函数 C() ,所以this指向全局对象。
那么下面的代码呢?
function F () { function C() { console.log(this); // C {} return this; } return new C(); } var o = new F(); console.log(o.constructor.name); // C
在这里在 C() 的前面添加了 new ,这个函数就变成了一个构造函数,this 是一个由 C() 构造器创建的一个实例,所以在这里 this 指向了o
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/80751.html
摘要:原文牛客上有这么一道的题目。先来分析一下题目,和都从来,为什么同名的属性值不一样可以看出,是对这个函数的调用方式不一样,是函数的调用结果,而则是作为构造函数调用的结果。所以这题的重点应该是如何区分函数调用和构造函数调用。 原文:http://blog.e10t.net/talk-abo... 牛客上有这么一道 JavaScript 的题目。 //填写内容让下面代码支持a.name = ...
摘要:题目原题目来源于一个网友的问答补充代码我有个我有个分析题目希望生成一个新的构造函数,继承于。尽量不要更改题目表达出希望有方法实现构造函数继承,又需要原型继承。的指向显然要改成指向子类构造函数中的。 题目 原题目来源于一个网友的问答 var A = function() { this.name = apple; } A.prototype.getName = function()...
摘要:感觉这个题目涉及的基础知识内容比较多,故分享出来,后面会详细介绍数据类型的文章,欢迎关注。实现一个函数,可以对中的种主要的数据类型包括进行值复制。 感觉这个题目涉及的基础知识内容比较多,故分享出来,后面会详细介绍数据类型的文章,欢迎关注。 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)...
摘要:函数柯里化在函数式编程中,函数是一等公民。函数柯里化的主要作用和特点就是参数复用提前返回和延迟执行。可能在实际应用场景中,很少使用函数柯里化的解决方案,但是了解认识函数柯里化对自身的提升还是有帮助的。 最近在整理面试资源的时候,发现一道有意思的题目,所以就记录下来。 题目 如何实现 multi(2)(3)(4)=24? 首先来分析下这道题,实现一个 multi 函数并依次传入参数执行,...
阅读 1930·2019-08-30 15:54
阅读 3578·2019-08-29 13:07
阅读 3097·2019-08-29 12:39
阅读 1770·2019-08-26 12:13
阅读 1526·2019-08-23 18:31
阅读 2134·2019-08-23 18:05
阅读 1825·2019-08-23 18:00
阅读 1025·2019-08-23 17:15