大白话-constructor
时间:2022-04-27
本文章向大家介绍大白话-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;
不然原型链就断了,,
(给别人讲就一点好,不管你懂没懂,反正我是懂了。。^_^)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 原创 | 详解git rebase,让你走上git大神之路
- 启用chrome浏览器内置的二维码生成插件
- ZeroLogon漏洞(CVE-2020-1472)防御性指南
- 原创 | 随机数大家都会用,但是你知道生成随机数的算法吗?
- 原创 | codeforces 1425E,一万种情况的简单题
- 原创 | codeforces 1417C,逆向思考的数据结构题
- 原创 | 操作失误不要慌,这个命令给你的Git一次反悔的机会
- 原创 | 想做推荐算法?先把FM模型搞懂再说
- 活见鬼,明明删除了数据,空间却没减少!
- 原创 | Git仓库的提交记录乱成一团,怎么办?
- 原创 | 平面内有N个点,如何快速求出距离最近的点对?
- 原创 | codeforces 1426F,初学者也能做,div3的最难题
- 安全研究 | YARA规则阻止Windows事件日志记录
- 研究人员如何使用Shhgit搜索GitHub中的敏感数据
- 使用nProbe监控移动网络(2G,3G和LTE)