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中构造函数的说明相关推荐

  1. javascript中构造函数的返回值问题和new对象的过程

    首先明白一点:javascript中构造函数是不须要有返回值的,这一点跟java非常类似.能够觉得构造函数和普通函数的最大区别就是:构造函数中没有return语句,普通函数能够有return语句.构造 ...

  2. 深入理解Javascript中构造函数和原型对象的区别

    在 Javascript中prototype属性的详解 这篇文章中,详细介绍了构造函数的缺点以及原型(prototype),原型链(prototype chain),构造函数(constructor) ...

  3. 剖析javascript中构造函数

    在绝大多数的编程语言中,均存在函数这一概念,其含义大概可以归纳为:包含一定语句,用于完成某些有意义的工作,如处理文本.控制输入输出或计算数值等.通过在程序代码中引入函数名称和所需的参数,可在该程序中执 ...

  4. 详解JavaScript创建对象——构造函数模式

    文章目录 一.什么是构造函数? 二.构造函数与普通函数的区别 1.new 2.new.target 三.使用构造函数 四.构造函数的问题 总结 一.什么是构造函数? 在一些面向对象的语言,如Java. ...

  5. JavaScript中的普通函数与构造函数比较

    问题 什么是构造函数? 构造函数与普通函数区别是什么? 用new关键字的时候到底做了什么? 构造函数有返回值怎么办? 构造函数能当普通函数调用吗? this this永远指向当前正在被执行的函数或方法 ...

  6. 34 JavaScript中的构造函数和原型

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.概述 在典型的OOP语言中(如Java),都存在类的概念.类就是对象的模板,对象就是类 ...

  7. this调用语句必须是构造函数中的第一个可执行语句_谈谈JavaScript中的函数构造式和new关键字...

    您是否曾困惑于 Javascript 中的new关键字呢?是否曾想理解关于 function 和 constructor 的区别是什么呢? 大多数 Javascript 的新开发者不太想要使用new关 ...

  8. JavaScript中的工厂函数vs构造函数vs class

    原文链接:JavaScript Factory Functions vs Constructor Functions vs Classes 作者:Eric Elliott 译者:sunny 转载需提前 ...

  9. 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系

    转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...

最新文章

  1. 如何用Linux的at命令安排一个任务
  2. Boosting for PRML
  3. Spring boot介绍
  4. fastreport 旋转90度_水冷必不可少之90度弯头
  5. [tomcat] 配置数据源介绍
  6. 奥特曼传奇英雄存档丢了怎么找回_热血传奇:道士最帅武器—玄天
  7. 为何@Autowired注解无法实现第三方类的注入?
  8. 自从用python写了个自动弹幕脚本后,各大主播来找我,净赚十万!赶紧收藏!!
  9. blog error #include stream.h
  10. Windows 3.1 往事:历史上第一个真正占据主导地位的操作系统
  11. 公有云、私有云、混合云的区别比较
  12. “期望风险”,“经验风险”与“结构风险”的定义与联系
  13. Mysql + keepalived 实现双主热备读写分离【转】
  14. 申请办理美国亚马逊质量检验报告前,需准备什么资料?
  15. YUI 3:Node
  16. python 过采样算法_类不平衡数据分类准确率的提升算法smote过采样方法
  17. VC++程序设计与应用--数据库编程
  18. 华为机试:机器人走迷宫
  19. VUE 一个或多个邮箱以及手机号码验证,多个邮箱和手机号重复校验
  20. pinyin4j获取多音字首字母同时保留非中文字符

热门文章

  1. 计算机网络的拓扑模型,基于复杂网络模型的计算机网络拓扑结构研究
  2. python进行数据查询_如何进行python数据库查询?(实例解析)
  3. C this指针的理解和作用
  4. 遮掩java_css之图片下方定位遮掩层
  5. pat 乙级 1047 编程团体赛(C++)
  6. 浅析C++的三大循环-以100以内的质数求解为例
  7. 电话光端机的电话业务不通问题,该怎么去检查?
  8. 【渝粤教育】国家开放大学2018年春季 0177-22T电机学(二) 参考试题
  9. 【渝粤教育】电大中专学前儿童语言教育 (4)作业 题库
  10. 渝粤题库]西北工业大学组成与系统结构