专栏首页coding个人笔记重新认识原型和原型链一

重新认识原型和原型链一

之前分享过原型和原型链,那时候觉得理解的还行,最近重新理了一遍原型和原型链,发现当时理解的好粗浅。于是又重新学了一遍。可能这次学习的还是不到位,只是分享一些新的体会。

先明确几个概念:

function Fn() {}var time = new Date();

JavaScript里面有一句话说:万物皆对象,对象带有属性和方法。函数也是对象,只不过是比较特殊的对象。

上面的Fn叫函数对象,Date也叫函数对象,Date是JavaScript内建的函数对象。

当我们把函数首字母大写,这样的函数我们不会直接调用,而是叫做构造函数,这是约定的俗成。

这边要牢牢记住,Fn叫函数对象,也叫构造函数。Date、Array、String等是JavaScript内建的函数对象,也叫构造函数。Fn是我们自己定义的,Date等是JavaScript内建的。

函数对象都有原型,也就是prototype属性,函数的原型其实就是指prototype,当然,它也是一个对象,毕竟万物皆对象,所以prototype也可以叫原型对象。声明函数的时候会自动生成原型prototype属性。JavaScript内建的函数也都有原型prototype,也有一些除外,暂时就知道Math没有。

还有一点要特别记住,prototype只有函数对象才有,prototype也叫作显式原型,也就是说只有函数才有显式原型。

function Fn() {}
console.log(Fn.prototype)
console.log(Object.prototype)
console.log(Number.prototype)
console.log(Date.prototype)
console.log(RegExp.prototype)
console.log(Math.prototype)
var a = 1;
var b = 'abc';
var c = true;
console.log(a.prototype)
console.log(b.prototype)
console.log(c.prototype)

以上这些概念要好好理一下,然后记住。

(完)

本文分享自微信公众号 - coding个人笔记(gh_2ce38b49dae1),作者:wade

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 重新认识原型和原型链二

    知道了prototype这个原型(也叫原型属性、原型对象,不要搞混了,原型、原型属性、原型对象都是同一个东西),我们还需要知道__proto__和constru...

    wade
  • ES6之数组的扩展

    copyWithin方法:改变原数组,接收三个参数,在当前数组内部,将指定位置的成员复制到其他位置(数组函数参数的下标都是包前不包后)

    wade
  • 重新认识原型和原型链三

    知道了显式原型prototype和隐式原型__proto__,我们就能很好的知道原型链是什么东西了。

    wade
  • 翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》- 第 8 章:列表操作

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 第 8 章:列表操作 你是否还沉...

    iKcamp
  • javascript基础之回调函数

    回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿...

    wfaceboss
  • 商标被抢注的坑,自媒体人如何主动避开?

    “再小的个体,也有自己的品牌”。微信公众号为无数自媒体er提供了内容创作舞台,一个具有辨识度的名称或IP,无疑是极其重要的品牌资产。但由于许多运营者对法律知识...

    腾讯云DNSPod团队
  • vue3.0 Composition API 上手初体验 函数组件的开发与使用

    在上一节中,我们讨论了普通组件的开发与使用,其实相比较 vue 2.0 来说,差别并不大。

    FungLeo
  • 三、nodejs模块使用和其他

    如果没有文件夹那么会抛出错误,但是没有文件则会自动创建文件。如果已经存在,则会覆盖。

    Dreamy.TZK
  • Permission is only granted to system apps

    原文地址http://jingyan.baidu.com/article/9113f81b2e7a8c2b3314c711.html ? ? ?

    杨奉武
  • 详解Python函数式编程之map、reduce、filter

    map()、reduce()、filter()是Python中很常用的几个函数,也是Python支持函数式编程的重要体现。不过,在Python 3.x中,red...

    Python小屋屋主

扫码关注云+社区

领取腾讯云代金券