你的位置:首页 > Java教程

[Java教程]Javascript中的函数(Function)与对象(Object)的关系


今天我们来尝试理解Function和Object.因为这个里面有些人前期可能会搞糊涂.他们之间到底是什么关系.当然也不除外当初的我.

 

注意:官方定义: 在Javascript中,每一个函数实际上都是一个函数对象.

 

我们先来看最简单的两个代码,也是最容易理解的.

 

function fn(){}

var obj = {}

console.log(fn instanceof Function)//true

console.log(obj instanceof Object)//true

console.log(fn instanceof Object)//true

console.log(obj instanceof Function)//false

 

前面两个打印的效果,大家都容易理解.后面 fn instanceof Object 是为true.这里也是一样,从函数的定义来说: 在javascript中一切函数实际都是函数对象. 所以为true就不奇怪了.obj instanceof Function 为false,当然不奇怪了.因为他是一个对象,不是函数.

 

我们再来看一个代码

 

console.log(Function instanceof  Object); // true

console.log(Object instanceof Function);  // true

 

代码很简单.运行结构两个都是为true,为什么呢? 第一个用函数的定义来说,(javascript中函数实际也是一个函数对象),当然为true,那第二个呢?对象也是函数?

Object也是函数.因为Object的结构是function Object(){native code}.

这种形式,很清晰的就是声明的一个Object函数,当然就是函数了,所以两个都是为true.

他们两个Function和Object函数实现代码,那当然是不一样了.他们是怎么实现的,那我们就不去详细琢磨了,如果想琢磨的,就可以了解浏览器的相关知识了.

 

希望大家能理解函数与对象的关系,不明白的给公众号留言或者加群:186659233问我们

 

本文属于吴统威的博客,微信公众号:bianchengderen,QQ群:186659233 的原创文章,转载时请注明出处及相应链接:http://www.wutongwei.com/front/infor_showone.tweb?id=160 ,欢迎大家传播与分享.