美文网首页
函数与构造函数的区别

函数与构造函数的区别

作者: 前端架构师陈龙威 | 来源:发表于2020-04-07 09:48 被阅读0次

前言

本文记录普通函数与构造函数的区别对比。
另外关于普通函数调用的fn()和构造函数调用的new fn(),在另一篇文章

正文

对比

  1. 命名方式,普通函数一般小写,构造函数首字母大写
// 普通函数:
function fn() {
    this.a = 1;
}

// 构造函数:
function Fn() {
    this.a = 1;
}
  1. 调用方法,普通函数一般直接调用,构造函数一般new方法调用
// 普通函数:
fn()

// 构造函数:
var f = new fn()
  1. 原理
// 普通函数因为没有返回值,一般为undefined,函数中的this一般指向外层,比如window
fn();
undefined;
window.a; // 1
// 构造函数因为有返回值,函数中的this指向对象本身。
var f = new fn();
f
f instanceof fn; // true
window.a; // undefined
f.a; // 1

相关文章

  • 普通函数和构造函数

    普通函数与构造函数的区别 1.普通函数默认返回值是undefined,构造函数返回一个实例的对象2.普通函数与构造...

  • 普通函数和构造函数

    普通函数与构造函数的区别 1.普通函数默认返回值是undefined,构造函数返回一个实例的对象2.普通函数与构造...

  • 普通函数和构造函数

    普通函数与构造函数的区别 1.普通函数默认返回值是undefined,构造函数返回一个实例的对象2.普通函数与构造...

  • 普通函数和构造函数

    普通函数与构造函数的区别 1.普通函数默认返回值是undefined,构造函数返回一个实例的对象2.普通函数与构造...

  • JS基础核心之原型

    构造函数与实例 构造函数与普通函数的唯一区别:调用方式的不同,构造函数用new调用。 new的内部经历了什么? 创...

  • 第六章——创建对象

    一、寄生构造函数模式、工厂模式、稳妥构造函数模式的区别与联系 寄生构造函数模式(重写了构造函数的返回值): 工厂模...

  • 普通函数和构造函数

    普通函数与构造函数的区别 1.普通函数默认返回值是undefined,构造函数返回一个实例的对象 2.普通函数与构...

  • javascript中面向对象编程-创建对象之工厂模式和构造函数

    创建对象 问题: 什么是构造函数? 构造函数与普通函数区别是什么? 使用new关键字时发生了什么? 构造函数中有返...

  • 原型链,对象,构造函数之间的一些联系

    构造函数: 构造函数跟普通函数没什么区别,都是由function定义的,为了和普通函数做区别,一般构造函数首字母大...

  • JavaScript 原型&原型链

    JavaScript 原型&原型链 1. 构造函数 构造函数本身就是一个函数,与普通函数没有任何区别,不过为了规范...

网友评论

      本文标题:函数与构造函数的区别

      本文链接:https://www.haomeiwen.com/subject/afcgphtx.html