大白话-constructor

昨天跟大家聊了javascript的prototype,其实它很简单的嘛,就是给函数添加自定义方法的。

prototype这种方式在需要复用函数比较多的时候,会使用这种方式。

一般情况下,就是function大泛滥就可以了,全是函数,互相传参调用呗。

当然还是要有节制的,并不是真的函数大泛滥,哈。。

今天来聊下constructor,先说结论,再说为什么,,

====== 结论 ========

-- constructor这个属性,返回的是创建当前对象的函数,也就是所谓的构造函数。

就这样:
function abc(){}
var xx = new abc;
console.log(xx.constructor);
//输出的是abc()

=======为什么呢?=======

因为prototype"自动创建了属性"constructor", 刚才说过了,它指向当前对象的构造函数。 过程是这样: (1)function abc(){} (2)abc.prototype.x=function(){...} (3)var xx = new abc; (4)prototype"自动创建了属性"constructor", 等于是: abc.prototype.constructor = abc; SO,你console.log(xx.constructor)的时候, 输出的是abc()。

========它有什么用呢?==========

简单的一句话: 新建的对象, 通过constructor来检测并确定它的构造函数, 来继承构造函数的方法, 就是你用prototype添加的那些自定义方法 所以,有时,有时啊,,需要这样写:

function bbb(){}
var xx = new bbb;
xx.prototype.constructor = bbb;
不然原型链就断了,,

(给别人讲就一点好,不管你懂没懂,反正我是懂了。。^_^)

大白话-prototype属性

html5-canvas刮刮卡-圆形刮痕视频教程

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2015-12-11

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

教你在Java接口中定义方法

接下来,SimpleTimeClient类实现了TimeClient接口,具体代码如下:

20020
来自专栏HTML5学堂

2015.11.30 HTML5真题练习

HTML5学堂:每天一道题,强壮程序员!今日主要涉及昨日题目的解答,以及一道涉及函数的形参实参、arguments对象的题目 HTML5真题【2015.11.2...

29960
来自专栏mukekeheart的iOS之旅

《JavaScript高级程序设计》学习笔记(3)——变量、作用域和内存问题

欢迎关注本人的微信公众号“前端小填填”,专注前端技术的基础和项目开发的学习。 本节内容对应《JavaScript高级程序设计》的第四章内容。 1、函数:通过函数...

29860
来自专栏HTML5学堂

2015.12.30 HTML5真题练习

HTML5学堂:每天一道题,强壮程序员!今日主要涉及函数与参数的12.29日题目的解答,以及一道简单的作用域的题目。 HTML5真题【2015.12.29】答案...

33760
来自专栏java工会

JAVA 同步实现原理

Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:

7500
来自专栏数据结构与算法

1750:全排列

1750:全排列 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 给定一个由不同的小写字母组成的字符串,输出这个字符串的所...

385140
来自专栏Python

Python2和Python3的一些语法区别

Python2和Python3的一些语法区别 python 1.print 在版本2的使用方法是: print 'this is version 2 也可以是...

25280
来自专栏小樱的经验随笔

UVa 11461 - Square Numbers【数学,暴力】

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=...

33350
来自专栏HTML5学堂

2015.12.11 HTML5真题练习

HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.10题目函数以及return(返回值)、预编译执行的解答,以及一道涉及函数递归调用的题目。 HTML5...

29550
来自专栏企鹅号快讯

选择python不再迷茫,让大牛告诉你python2和python3 该选谁

1. print不再是语句,而是函数,比如原来是 print 'abc' 现在是 print('abc')但是 python2.6+ 可以使用 from __f...

22370

扫码关注云+社区

领取腾讯云代金券