Javascript中的函数(Function)与对象(Object)的关系
2015-12-17 09:36
756 查看
今天我们来尝试理解Function和Object.因为这个里面有些人前期可能会搞糊涂.他们之间到底是什么关系.当然也不除外当初的我.
注意:官方定义: 在Javascript中,每一个函数实际上都是一个函数对象.
我们先来看最简单的两个代码,也是最容易理解的.
function fn(){}
var obj = {}console.log(fn instanceof Function)//trueconsole.log(obj instanceof Object)//trueconsole.log(fn instanceof Object)//trueconsole.log(obj instanceof Function)//false
前面两个打印的效果,大家都容易理解.后面 fn instanceof Object 是为true.这里也是一样,从函数的定义来说: 在javascript中一切函数实际都是函数对象. 所以为true就不奇怪了.obj instanceof Function 为false,当然不奇怪了.因为他是一个对象,不是函数.
我们再来看一个代码
console.log(Function instanceof Object); // trueconsole.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 ,欢迎大家传播与分享.本文出自 “ophir技术研究” 博客,请务必保留此出处http://ophir.blog.51cto.com/1741965/1725479
注意:官方定义: 在Javascript中,每一个函数实际上都是一个函数对象.
我们先来看最简单的两个代码,也是最容易理解的.
function fn(){}
var obj = {}console.log(fn instanceof Function)//trueconsole.log(obj instanceof Object)//trueconsole.log(fn instanceof Object)//trueconsole.log(obj instanceof Function)//false
前面两个打印的效果,大家都容易理解.后面 fn instanceof Object 是为true.这里也是一样,从函数的定义来说: 在javascript中一切函数实际都是函数对象. 所以为true就不奇怪了.obj instanceof Function 为false,当然不奇怪了.因为他是一个对象,不是函数.
我们再来看一个代码
console.log(Function instanceof Object); // trueconsole.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 ,欢迎大家传播与分享.本文出自 “ophir技术研究” 博客,请务必保留此出处http://ophir.blog.51cto.com/1741965/1725479
相关文章推荐
- Javascript中的函数(Function)与对象(Object)的关系
- ORM(Object Relational Mapping)框架
- Javascript中的函数(Function)与对象(Object)的关系
- setValue和setObject的区别
- Objective-C Blocks Caveat
- PBDOM操作XML文档轻松入门(Easy XML with PowerBuilder Document Object Model)
- [Redux] Composition with Objects
- JSONObject使用方法详解
- Javascript中的函数(Function)与对象(Object)的关系
- 理解 Objective-C Runtime
- Objective-C总Runtime的那点事儿(一)消息机制
- Objective-C简单教程(入门)-从官方文档中挑选
- Objective-C KVC/KVO NSNotification(通知)的简单理解与应用
- Objective-C 类集合简介(文档)
- NSString* testObject = [[NSData alloc] init];testObject 在编译时和运行时分别是什么类型的对象?
- 关于jquery html()方法获取带有OBJECT标签的元素内容时,出现“类型不匹配。”的解决办法
- JS中的双向数据绑定及Object.defineProperty方法
- field 'int android.view.View.mViewFlags' on a null object reference
- Objective--C UIScrollView 通讯录
- WaitForSingleObject和WaitForMultipleObjects理解使用