Javascript中的函数(Function)与对象(Object)的关系

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

 

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

 

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

 

function fn(){}浏览器

var obj = {}微信

console.log(fn instanceof Function)//true函数

console.log(obj instanceof Object)//truecode

console.log(fn instanceof Object)//true对象

console.log(obj instanceof Function)//falseip

 

前面两个打印的效果,你们都容易理解.后面 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 ,欢迎你们传播与分享.

相关文章
相关标签/搜索