摘要:上面这段代码一般被用来判断变量的类型,相信很多人都非常熟悉今天时用到上面这段代码,突然想到方法,为啥两者不一样呢的并不是自有属性,而是继承属性那究竟时继承的谁呢,或者换句话说,时由什么构造的呢为啥运行上面这段代码会提示原来执行等同于执行而且
Object.prototype.toString.call(something)
上面这段代码一般被用来判断变量的类型,相信很多人都非常熟悉
今天coding时用到上面这段代码,突然想到 Object.toString 方法,为啥两者不一样呢
Object 的 toString 并不是自有属性,而是继承属性
那 Object 究竟时继承的谁呢,或者换句话说,Object 时由什么构造的呢?
Object.toString.call([])
为啥运行上面这段代码会提示 Function.prototype.toString requires that "this" be a Function
console.log(Object.__proto__.constructor) // ƒ Function() { [native code] } Object.toString === Function.prototype.toString // true Object.__proto__ === Function.prototype // true Object instanceof Function // true
原来执行 Object.toString.call([]) 等同于执行 Function.prototype.toString([])
而且 Object 是由 Function 构造的
那么 Function 又是由什么构造的呢
console.log(Function.__proto__.constructor) // ƒ Function() { [native code] }
我们看到 Function 是由 Function 构造的
那么是不是说 Function 就是继承链的最顶层了呢? 答案肯定是 不是
Function.prototype.__proto__ === Object.prototype // true Function.__proto__.__proto__ === Object.prototype // true Object.__proto__.__proto__ === Object.prototype // true Function.prototype.constructor === Object // false
我们看到, Function.prototype 的 _proto__ 指向了 Object.prototype
我们之前说过, Function 继承自 Function ,自然 Function.__proto__.__proto__ 是指向 Object.prototype 的
我们之前也说过, Object 继承自 Function,所以Object.__proto__.__proto__ 也是指向 Object.prototype 的
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/90085.html
摘要:如果要理清原型和原型链的关系,首先要明确一下几个概念中的所有东西都是对象,函数也是对象而且是一种特殊的对象中所有的东西都由衍生而来即所有东西原型链的终点指向对象都有一个隐藏的属性,他指向创建它的构造函数的原型,但是有一个例外,指向的是。 首先要搞明白几个概念: 函数(function) 函数对象(function object) 本地对象(native object) 内置对象(bu...
摘要:递归闭包原型继承本文主要讲解理清一些函数常用的知识点递归闭包是什么闭包使用场景什么是原型和原型链如何实现继承继承的原理,原文。当访问一个对象上的属性时,先尝试访问自身上的属性,再通过原型链尝试访问其构造函数原型上的属性。 递归、闭包、原型、继承 本文主要讲解、理清一些函数常用的知识点:递归、闭包是什么、闭包使用场景、什么是原型和原型链、如何实现继承、继承的原理,原文。 递归 函数的递归...
摘要:他指示了一个对象的属性,返回的将用来获得该属性对应的值在上面的分析中,我们知道,当传入的是一个函数时,还要经过一个叫的内置函数才能获得最终的所以此处的必然是优化回调的作用了。 开篇说明 对的,让你所见,又开始造轮子了。哈哈,造轮子我们是认真的~ 源码阅读是必须的,Underscore是因为刚刚学习整理了一波函数式编程,加上自己曾经没有太多阅读源码的经验,先拿Underscore练练手,...
阅读 3619·2021-11-16 11:41
阅读 2860·2021-09-23 11:45
阅读 656·2019-08-30 15:44
阅读 523·2019-08-30 13:10
阅读 1945·2019-08-30 12:49
阅读 3501·2019-08-28 17:51
阅读 1454·2019-08-26 12:20
阅读 683·2019-08-23 17:56