资讯专栏INFORMATION COLUMN

js prototype诞生,从此有了函数

DoINsiSt / 2444人阅读

摘要:身为函数语言的函数从何而来是中诞生的第一个对象通过继承了,作为中诞生的第二个对象,该对象实现了中的两种类型只有和很多人搞不清楚这两者的关系,确实这个关系比较绕。首先因为有了前面的两个这两哥们才关联起来了。

身为函数语言的js,函数从何而来

Object.prototype

Object.prototype是js中诞生的第一个对象

Function.prototype

Function.prototype通过__proto__继承了Object.prototype,作为Js中诞生的第二个对象,该对象实现了js中的两种类型

js只有object number boolean function undefiend

Function和Object

很多人搞不清楚这两者的关系,确实这个关系比较绕。首先因为有了前面的两个prototype,这两哥们才关联起来了。

从上图可以看出Object和Function的原型链是一样的(why)

因为Object和Function是js中最重要的两个构造函数,Object既然是函数,继承Function.prototype就没什么奇怪的了

var obj = new Object();var obj = {}

这两个代码是一样的

创建一个空对象{}
将空对象的__proto__赋值Object.prototype
Object.apply({})

var fun = new Function();function fun(){};

同上
var fun = function(){};这个和前面两个也是等价的,但是有一个地方不太一样
new file stutent.js
`exports = module.exports = fun;

var fun = function (){

console.log("adf");

};`

在app.js中var student = require("./student"); 得到student为null
目前尚不知道原因

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/86077.html

相关文章

  • 前端编年史(持续更新中)

    摘要:由微软正式发布,矛头直指网景的,成就的同时也开启了自己声名狼藉之路。由微软正式发布,虽然很蹩脚,但是基于这个技术,我们终于可以在上完成桌面端程序的任务了。微软发布了第一个版本,提供了更加规范地书写的解决方案。 字数:1000阅读时间:10分钟 前言   笔者学习一门知识有一个习惯,就是会先去了解这门知识的一个大致历史框架,而后再学习具体的知识内容。这样做有以下两个目的:1.可以增添兴...

    aristark 评论0 收藏0
  • 前端编年史(持续更新中)

    摘要:由微软正式发布,矛头直指网景的,成就的同时也开启了自己声名狼藉之路。由微软正式发布,虽然很蹩脚,但是基于这个技术,我们终于可以在上完成桌面端程序的任务了。微软发布了第一个版本,提供了更加规范地书写的解决方案。 字数:1000阅读时间:10分钟 前言   笔者学习一门知识有一个习惯,就是会先去了解这门知识的一个大致历史框架,而后再学习具体的知识内容。这样做有以下两个目的:1.可以增添兴...

    gaara 评论0 收藏0
  • 前端编年史(持续更新中)

    摘要:由微软正式发布,矛头直指网景的,成就的同时也开启了自己声名狼藉之路。由微软正式发布,虽然很蹩脚,但是基于这个技术,我们终于可以在上完成桌面端程序的任务了。微软发布了第一个版本,提供了更加规范地书写的解决方案。 字数:1000阅读时间:10分钟 前言   笔者学习一门知识有一个习惯,就是会先去了解这门知识的一个大致历史框架,而后再学习具体的知识内容。这样做有以下两个目的:1.可以增添兴...

    genedna 评论0 收藏0
  • JavaScript模块化发展

    摘要:所有依赖这个模块的语句,都定义在一个回调函数中,等到所有依赖加载完成之后前置依赖,这个回调函数才会运行。如果将前面的代码改写成形式,就是下面这样定义了一个文件,该文件依赖模块,当模块加载完毕之后执行回调函数,这里并没有暴露任何变量。 模块化是我们日常开发都要用到的基本技能,使用简单且方便,但是很少人能说出来但是的原因及发展过程。现在通过对比不同时期的js的发展,将JavaScript模...

    mengbo 评论0 收藏0
  • 如何优雅的理解ECMAScript中的对象

    摘要:标准对象,语义由本规范定义的对象。这意味着虽然有,本质上依然是构造函数,并不能像那样表演多继承嵌套类等高难度动作。不过这里的并不是我们所说的数据类型,而是对象构造函数。 序 ECMAScript is an object-oriented programming language for performing computations and manipulating computat...

    why_rookie 评论0 收藏0

发表评论

0条评论

DoINsiSt

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<