`
towaywu
  • 浏览: 14838 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

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,:186659233的原创文章,转载时请注明出处及相应链接:http://www.wutongwei.com/front/infor_showone.tweb?id=160 ,欢迎大家传播与分享.

分享到:
评论

相关推荐

    JavaScript中Function函数与Object对象的关系

    注意:官方定义: 在Javascript中,每一个函数实际上都是一个函数对象. 我们先来看最简单的两个代码,也是最容易理解的. function fn(){} var obj = {} console.log(fn instanceof Function)//true conso

    浅谈Javascript中的Function与Object

    Function 函数就是对象,代表函数的对象就是函数对象。所有的函数对象是被Function这个函数对象构造出来的。...Function 与Object 关系图: 代码如下: [removed] var Foo= function(){} var f1 = n

    JavaScript中object和Object的区别(详解)

    JavaScript中object和Object有什么区别,为什么用typeof检测对象,返回object,而用instanceof 必须要接Object呢 这个问题和我之前遇到的问题非常相似,我认为这里有两个问题需要解决,一个是运算符new的作用机制,...

    javascript函数的解释

    javascript函数的解释,解释了具体函数的功能,一、函数JavaScript函数集合 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:...

    浅谈Javascript中Object与Function对象

    1.Object对象  原型对象  原型是对象的一个属性,也就是prototype属性,每个对象都有这个内部属性,而且他本身也是一个对象。 [removed] Object.prototype.num= 10; alert("添加原型对象属性:"+ Object....

    Ajax原理详解

    JavaScript中函数的参数长度是不固定的,实际参数可以与形式参数的个数不同 JavaScript中对象就是无序属性的集合,对象的属性可以是任何类型的数据 JavaScript常用的内置对象 Global对象时顶级对象,在浏览器中,...

    [hook.js]通用Javascript函数钩子

    context[Object|opt]:目标函数所在对象,用于hook非window对象下的函数,如String.protype.slice,carInstance1 methodName[String|opt]:匿名函数需显式传入目标函数名eg:this.Begin = function(){....}; } [bool]...

    javascript面象对象编程

    函数对象和其它内部对象的关系 – 对于Function, Object, Array, Date, RegExp, Math, Error等内部对象 可使用new操作来返回一个对象实例 三、类 1. 实现 2. 公有成员,私有成员,静态成员 3. 类的继承

    验证javascript中Object和Function的关系的三段简单代码

    话说在楼猪理解和实践能力尚欠火候的时候,在这篇里曾经照搬了李战老师不少东西写在自己的博客...下面楼猪就通过自己写的几段简单代码,论证一下javascript内置Object和Function的关系。 1、Function就是Object,Object

    深入理解JavaScript系列

    深入理解JavaScript系列(12):变量对象(Variable Object) 深入理解JavaScript系列(13):This? Yes, this! 深入理解JavaScript系列(14):作用域链(Scope Chain) 深入理解JavaScript系列(15):函数...

    理解Javascript_09_Function与Object

    Function 首先回顾一下函数对象的概念,函数就是对象,代表函数的对象就是函数对象。所有的函数对象是被Function这个函数对象构造出来的。也就是说,Function是最顶层的构造器。它构造了系统中所有的对象,包括用户...

    JavaScript中的Object对象学习教程

    Object 对象分配到的变量名称。  (2)值 可选。任一 JavaScript 基元数据类型(数字、布尔值或字符串)。 如果值是一个对象,则返回的对象是未修改的。 如果值是 null、“未定义”或“未提供”,则创建无内容的...

    javascript 对象数组根据对象object key的值排序

    有个js对象数组 var ary=[{id:1,name:”b”},{id:2,name:”b”}] 需求是根据name 或者 id的值来排序,这里有个风骚的函数 函数定义: 代码如下: function keysrt(key,desc) {  return function(a,b){  return desc ...

    JavaScript基础篇(3)之Object、Function等引用类型

    阅读目录 Object类型 1、通过构造函数来创建 2、通过字面量表示法来创建对象 Array类型 同样Array也有两种创建方式: ...我们在《一步步学习javascript基础篇(1):基本概念》中简单的介绍了五种基本数据类型Undef

    javascript Object与Function使用

    本文着重解释一个比较常见但是非常容易使开发人员或者是初学JavaScript的人非常混淆的问题,那就是两个核心构造函数Object和Function,他们之间到底有什么关系?为何instanceof运算符的返回结果会让你感到混淆?本文...

    理解Javascript_08_函数对象

    下面我们来看一段描述:JavaScript代码中定义函数,或者调用Function创建函数时,最终都会以类似这样的形式调用Function函数:var newFun=Function(funArgs, funBody); 。由此可知函数对象是由Function这个函数对象...

    javascript中的 object 和 function小结

    在学习过传统的面向对象语言后,如 java c++,转学 javascript 却有点不适应,特别是 javascript 中所谓的 object(对象) function(函数),有时候会被搞晕。于是乎简单整理了下面的一些概念性的东西,方便学习和...

    JavaScript中的面向对象介绍

    对象 创建 对象 构造函数 公有、私有、特权、静态成员 this、call和apply 异常处理 继承 原型 对象 在JavaScript,可以说everything is object,那么什么是对象?对象就是包含一组变量和函数的集合。在其它面向对象...

    JavaScript程序设计课件:原型与继承.pptx

    在利用构造函数创建对象时,每个对象都默认与这个原型对象连接,连接后就可以访问到原型对象中的属性和方法 6.6.1 原型 2、作用 利用原型对象可以保存一些公共的属性和方法。当访问某个对象中的一个不存在的属性或...

Global site tag (gtag.js) - Google Analytics