javascript中构造函数的说明
1.1 构造函数是一个模板
构造函数,是一种函数,主要用来在创建对象时对 对象 进行初始化(即为对象成员变量赋初始值),并且总是与new运算符一起使用。
1.2 new 运算符
new运算符创建一个新对象。关键字new后跟随一个函数调用。 这里的函数称做:构造函数(constructor),构造函数用以初始化一个新创建的对象。
- new的作用:创建一个新对象(实例)
注:这个对象可以是用户自定义的,也可以是系统自带的
1.3 创建对象步骤
- 1 new 申请内存, 创建对象
- 2 将新对象的引用赋值给 this (obj = this)
- 3 调用构造函数,利用 this.成员=值 来给对象添加成员(当然,如果有其他的代码也会执行)
- 4 返回新对象
1.4 构造函数调用说明
- 1 先创建对象再调用构造函数
- 2 new用来创建对象
- 3 构造函数用来初始化这个对象
4 构造函数会自动返回这个新对象
构造函数调用和普通的函数调用以及方法调用的不同主要体现在: 1、参数处理:没有形参,可以省略实参列表和圆括号 2、this指向 3、返回值
5 新创建的空对象继承自构造函数的prototype属性
- 6 对象在被创建的那个一刻原型就定下来了!(new设置对象的原型)
1.5 构造函数返回值(暂时不考虑)
a. 如果显式地使用return返回一个对象,那么这个对象就会代替新创建的对象被返回 b. 如果使用return但没有指定返回值或者返回一个原始值,那么此时将会忽略返回值
转载于:https://www.cnblogs.com/lsy0403/p/5863091.html
javascript中构造函数的说明相关推荐
- javascript中构造函数的返回值问题和new对象的过程
首先明白一点:javascript中构造函数是不须要有返回值的,这一点跟java非常类似.能够觉得构造函数和普通函数的最大区别就是:构造函数中没有return语句,普通函数能够有return语句.构造 ...
- 深入理解Javascript中构造函数和原型对象的区别
在 Javascript中prototype属性的详解 这篇文章中,详细介绍了构造函数的缺点以及原型(prototype),原型链(prototype chain),构造函数(constructor) ...
- 剖析javascript中构造函数
在绝大多数的编程语言中,均存在函数这一概念,其含义大概可以归纳为:包含一定语句,用于完成某些有意义的工作,如处理文本.控制输入输出或计算数值等.通过在程序代码中引入函数名称和所需的参数,可在该程序中执 ...
- 详解JavaScript创建对象——构造函数模式
文章目录 一.什么是构造函数? 二.构造函数与普通函数的区别 1.new 2.new.target 三.使用构造函数 四.构造函数的问题 总结 一.什么是构造函数? 在一些面向对象的语言,如Java. ...
- JavaScript中的普通函数与构造函数比较
问题 什么是构造函数? 构造函数与普通函数区别是什么? 用new关键字的时候到底做了什么? 构造函数有返回值怎么办? 构造函数能当普通函数调用吗? this this永远指向当前正在被执行的函数或方法 ...
- 34 JavaScript中的构造函数和原型
技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.概述 在典型的OOP语言中(如Java),都存在类的概念.类就是对象的模板,对象就是类 ...
- this调用语句必须是构造函数中的第一个可执行语句_谈谈JavaScript中的函数构造式和new关键字...
您是否曾困惑于 Javascript 中的new关键字呢?是否曾想理解关于 function 和 constructor 的区别是什么呢? 大多数 Javascript 的新开发者不太想要使用new关 ...
- JavaScript中的工厂函数vs构造函数vs class
原文链接:JavaScript Factory Functions vs Constructor Functions vs Classes 作者:Eric Elliott 译者:sunny 转载需提前 ...
- 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系
转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...
最新文章
- 如何用Linux的at命令安排一个任务
- Boosting for PRML
- Spring boot介绍
- fastreport 旋转90度_水冷必不可少之90度弯头
- [tomcat] 配置数据源介绍
- 奥特曼传奇英雄存档丢了怎么找回_热血传奇:道士最帅武器—玄天
- 为何@Autowired注解无法实现第三方类的注入?
- 自从用python写了个自动弹幕脚本后,各大主播来找我,净赚十万!赶紧收藏!!
- blog error #include stream.h
- Windows 3.1 往事:历史上第一个真正占据主导地位的操作系统
- 公有云、私有云、混合云的区别比较
- “期望风险”,“经验风险”与“结构风险”的定义与联系
- Mysql + keepalived 实现双主热备读写分离【转】
- 申请办理美国亚马逊质量检验报告前,需准备什么资料?
- YUI 3:Node
- python 过采样算法_类不平衡数据分类准确率的提升算法smote过采样方法
- VC++程序设计与应用--数据库编程
- 华为机试:机器人走迷宫
- VUE 一个或多个邮箱以及手机号码验证,多个邮箱和手机号重复校验
- pinyin4j获取多音字首字母同时保留非中文字符
热门文章
- 计算机网络的拓扑模型,基于复杂网络模型的计算机网络拓扑结构研究
- python进行数据查询_如何进行python数据库查询?(实例解析)
- C this指针的理解和作用
- 遮掩java_css之图片下方定位遮掩层
- pat 乙级 1047 编程团体赛(C++)
- 浅析C++的三大循环-以100以内的质数求解为例
- 电话光端机的电话业务不通问题,该怎么去检查?
- 【渝粤教育】国家开放大学2018年春季 0177-22T电机学(二) 参考试题
- 【渝粤教育】电大中专学前儿童语言教育 (4)作业 题库
- 渝粤题库]西北工业大学组成与系统结构