1、构造函数也是一个普通函数,创建方式和普通函数一样,但构造函数习惯上首字母大写

2、构造函数和普通函数的区别在于:

    调用方式不一样。作用也不一样(构造函数用来新建实例对象)

3、调用方式不一样。

a. 普通函数的调用方式:直接调用 person();

b.构造函数的调用方式:需要使用new关键字来调用 new Person();

4、构造函数的函数名与类名相同:Person( ) 这个构造函数,Person 既是函数名,也是这个对象的类名

5、内部用this 来构造属性和方法 

function Person(name,job,age)
{this.name=name;this.job=job;this.age=age;this.sayHi=function(){alert("Hi")}} 

6、构造函数的执行流程

A、立刻在堆内存中创建一个新的对象

B、将新建的对象设置为函数中的this

C、逐个执行函数中的代码

D、将新建的对象作为返回值

7、普通函数例子:因为没有返回值,所以为undefined

8、构造函数例子:构造函数会马上创建一个新对象,并将该新对象作为返回值返回

9、用instanceof 可以检查一个对象是否是一个类的实例,是则返回true;

所有对象都是Object对象的后代,所以任何对象和Object做instanceof都会返回true

5. 构造函数和普通函数的区别相关推荐

  1. js中构造函数与普通函数的区别

    构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ...

  2. js 中的构造函数,构造函数作用,构造函数和普通函数的区别

    函数的定义方式: 1.声明式函数定义: function 函数名 (){}:这种定义方式,会将函数声明提升到该函数所在作用域的最开头,也是就无论你在这个函数的最小作用域的那儿使用这种方式声明的函数,在 ...

  3. JAVA-初步认识-第七章-构造函数和一般函数的区别

    一. 构造函数是对象一创建,就被调用了.(调用这个词很特殊,是涉及到实体时,才会有调用的过程) 还有一点想说的是,构造函数的声明应该是固定的,不然没法随着对象的创建一起执行,必须是类名+括号的形式. ...

  4. 复制构造函数 与 赋值函数 的区别

    构造函数.析构函数.赋值函数是每个类最基本的的函数.每个类只有一个析构函数和一个赋值函数.但是有很多构造函数(一个为复制构造函数,其他为普通构造函数.对于一个类A,如果不编写上述四个函数,c++编译器 ...

  5. Python构造函数、成员函数,类变量、成员变量和局部变量

    一直对这些概念比较混淆,今天理一下. 构造函数和成员函数 构造函数也被称为构造器,当创建对象的时候第一个被自动调用的函数,系统默认提供了一个无参的构造函数,语法如下: def __ init__(se ...

  6. 拷贝构造函数和赋值函数的一些知识

    /*******************拷贝构造函数和赋值运算符重载有以下两个不同之处***************************/ 1.拷贝构造函数生成新的类对象,而赋值运算符不能. 2. ...

  7. 箭头函数特殊性与普通函数的区别

    参考:https://juejin.cn/post/7050492355056664612 箭头函数没有[[Construct]] 函数对象是一个支持[[Call]] . [[Construct]]内 ...

  8. # 普通函数和箭头函数的区别

    普通函数和箭头函数 写在前面 函数(Function)是 JavaScript 里的'一等公民'.是由称为函数体的一系列语句组成.可以当做入参,出参(返回值)使用.和对象一样,有自己的属性和方法.区别 ...

  9. 构造函数,拷贝构造函数,赋值函数

        C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法.下面就详细比较下三者之间的区别以及它们的具体实现 1.构造函数 构造函数是一种特殊的类成员函数,是当创建一个 ...

最新文章

  1. 取代INT 80 的sysenter/sy***it
  2. 设置网络映射后,电脑重启后自动重连
  3. Linux的mmap内存映射机制解析
  4. 《从0到1学习Flink》—— Apache Flink 介绍
  5. 打破“创新困局”,让你的企业创意盎然的六个新角色
  6. node mysql 增删改查_Nodejs操作MySQL - 增删改查
  7. bugly android8.1加固,2020-09-27 Bugly Android热更新使用指南
  8. iBeacon的第一篇(基于Swift实现)
  9. python刷b站教程_【Python】【学习资源】B站上的Python学习资源
  10. delphi windows编程_学习C/C++:伴随我成长的编程书!
  11. asp.net core系列 37 WebAPI 使用OpenAPI (swagger)中间件
  12. 机器学习(Andrew Ng)作业代码(Exercise 1~2)
  13. 监控程序日志并发送警告邮件
  14. minus的用法简介
  15. 找不到xinput1_3.dll怎么办?如何修复dll文件缺失
  16. css3变形 transform中复合写法的注意问题总结
  17. Session 与SessionFactory
  18. 【观察】不断打破手机行业创新边界,三个维度解读vivo NEX双屏版
  19. 如何在APP中集成Google账户登录
  20. python灰帽子学习感想

热门文章

  1. 在Windows上搭建Rust开发环境——Clion篇
  2. 【电气专业知识问答】问:发电机失磁异步运行故障如何处理?
  3. SQL Server 2019将结合Spark创建统一数据平台
  4. winform的TreeView动画效果
  5. ADM的兴衰起落。道翰天琼认知智能未来机器人接口API-1
  6. IDEA乱码问题解决
  7. yolov3_tiny.onnx转trt采用tensorrt加速模型推理
  8. 【Unity】OpenCV Plus Unity 获取Unity中摄像机并调用opencv使其灰度化实例
  9. JetBrains学生认证过期,提示“No suitable licenses associated with account ”
  10. smart phonics