JavaScript中函数对象和对象的区别

Posted 孟大凡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中函数对象和对象的区别相关的知识,希望对你有一定的参考价值。

function Test (word) {
    console.log (word);
}

Test(‘哈哈,我是函数‘);

new Test(‘哈哈,我是对象‘);


//将以上的调用方式换种通俗易懂的方式

Test.call("哈哈,我是函数");     //相当于Test();

//相当于new Test();
var obj = {};
obj._proto_ = Test.prototype;
Test.call(obj);

 

本质的区别就是,两次调用之中的this不同。调用Test(‘...‘);的时候,里面的this是顶级对象window,返回值是undefined。调用new Test(‘...‘);的时候,它会先new一个对象,置类型为Test,之后把它作为this执行Test函数,最后再把对象返回。

 

 

 

来源于sf

以上是关于JavaScript中函数对象和对象的区别的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

JavaScript学习手册(18)

常用Javascript代码片段集锦

javascript的构造函数和实例对象prototype和__proto__的区别,原型对象及构造器的理解

javascript 对象、实例、函数、方法的区别

javascript数据类型--- 函数对象之作用域和作用域链