今天咱们来尝试理解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 ,欢迎你们传播与分享.