Javascript 普通函数和构造函数的区别

前端之家收集整理的这篇文章主要介绍了Javascript 普通函数和构造函数的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

普通函数和构造函数的区别

在命名规则上,构造函数一般是首字母大写,普通函数遵照小驼峰式命名法。

函数调用的时候:

构造函数

:1. new fn( ) 2 .构造函数内部会创建一个新的对象,即f的实例 3. 函数内部的this指向 新创建的f的实例 4. 默认的返回值是f的实例

普通函数

:1. fn( ) 2. 在调用函数的内部不会创建新的对象 3. 函数内部的this指向调用函数的对象(如果没有对象调用,默认是window) 4. 返回值由return语句决定

构造函数的返回值:

有一个默认的返回值,新创建的对象(实例); 当手动添加返回值后(return语句):

1. 返回值是基本数据类型-->真正的返回值还是那个新创建的对象(实例) 2. 返回值是复杂数据类型(对象)-->真正的返回值是这个对象

看一个常见的面试题

function foo() { var f2 = new foo2(); console.log(f2); //{a: 3} console.log(this); //window return true; } function foo2() { console.log(this); //foo2类型的对象 不是foo2函数 // this.age = 30; return {a: 3}; } var f1 = foo(); console.log(f1); // true

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持

原文链接:https://www.f2er.com/js/44625.html

猜你在找的JavaScript相关文章