`

Function 和Object 的关系<二>

    博客分类:
  • js
 
阅读更多

转载:http://blog.csdn.net/jackwen110200/article/details/51850144

 

 

先有了Object还是先有了Function

  1. javascript中,“函数”(方法)也是对象。
  2. 一切对象都有一个根源。它是Object.prototype。
  3. 根源之上再没有其他根源。Object.getPrototypeOf(Object.prototype)是null。js中除字面量以外的一切引用对象都来自这个“根源”对象。
  4. 表达式Object.getPrototypeOf(Function) === Function.prototype的结果是真。这是Function特有的。实际上Function的prototype是一个内置函数,一切函数都派生自这个内置函数,这个内置函数是一个函数工厂。这个内置函数对象的prototype指向“根源”对象。
  5. 表达式Object.prototype === Object.getPrototypeOf(Function.prototype)的结果是真。说明了Object跟Function二者之间的联系,是通过“根源”对象联系起来的。

Function和Object,既是函数,因为都可以Function()或者Object()这样的方式执行,又是对象,因为可以Function.a = ‘a’,Object.a = ‘a’这样赋值。

说它们是函数,是因为他们都是通过上面第4条中说的”内置函数工厂“,派生出来的,因而具备函数的特性。

说他们是对象。是因为他们都是通过上面第1条中的”根源“对象,派生出来的,因此具备对象的特征。

继续说一下,Function.prototype指向”内置函数“。而Object.prototype指向”根源对象“。 
因而new Function会产生一个匿名函数,而new Object产生一个plain object。

他们之间的关系简单描述就像下面这样。

 

  • 大小: 6.7 KB
分享到:
评论

相关推荐

    html标签总结

    - **示例**:`&lt;h1&gt;一级标题&lt;/h1&gt;&lt;h2&gt;二级标题&lt;/h2&gt;` #### 关于文档的信息:`&lt;head&gt;` - **作用**:定义关于文档的信息,如元数据和样式表。 - **示例**:`&lt;head&gt;&lt;title&gt;我的页面&lt;/title&gt;&lt;meta charset="UTF-8"&gt;&lt;link...

    ASP+ACCESS毕业设计 网上购物系统 论文+源码

    文中着重论述了该系统的功能与实现、数据流程与存储、网上购物、后台管理等&lt;br&gt;经分析,使用Microsoft公司的ASP(Active Server Pages)和相关网页开发工具,利用微软提供的IIS建立运行环境,再利用ODBC(数据源)...

    理解Javascript Function与Object

    在这篇文章中,我们将深入探讨Function和Object的关系,了解它们之间的联系和区别。 Function:函数对象 ---------------- 在JavaScript中,函数是一个对象,它代表了函数的概念。所有的函数对象都是由Function这...

    XML轻松学习手册--XML实例解析之二

    通过使用`&lt;object&gt;`标签和JavaScript,可以实现在网页上动态加载和展示XML文件的内容。此外,通过添加导航按钮和相关的JavaScript函数,可以进一步提升用户体验,使得用户能够在网页上方便地浏览和切换XML数据。这种...

    Web前端开发项目教程(HTML5+CSS3+JavaScript)全册习题参考答案.pdf

    题目中提到了`&lt;link&gt;`标签,用于引入外部样式表文件,`type="text/css"`指定样式表类型,`rel="stylesheet"`定义链接关系。CSS属性如`float`用于浮动元素,`display: grid`创建CSS网格布局,`list-style-image`设置...

    javaScript-javascript-初级到高级-笔记.docx

    尽管其名称中包含“Java”,但它与Java语言并无直接关系,而是属于一种基于原型和函数式的编程语言。JavaScript主要运行在客户端,依赖于浏览器环境。 JavaScript由三大部分构成:基础语法、DOM(Document Object ...

    CSS-HTML-JS-XML的概念及之间的关系

    例如,一个简单的HTML文件可能包含`&lt;html&gt;`作为文档的根元素,其中包含`&lt;head&gt;`(定义文档头部信息,如标题、样式表链接等)和`&lt;body&gt;`(包含网页的实际内容)等标签。 - **示例**: ```html &lt;html&gt; &lt;head&gt; ...

    组织架构代码,点击伸缩

    在这个结构中,子部门或小组被嵌套在父部门的`&lt;ul&gt;`元素内,这样我们可以很方便地进行折叠和展开操作。 接下来,引入jQuery库,这里使用的是`jquery-1.8.3.min.js`。在HTML文档的`&lt;head&gt;`部分添加引用: ```html ...

    j2ee maven 结合gulp构建工具构建 war 自动刷新浏览器缓存

    它通过POM(Project Object Model)文件来配置项目的依赖关系和构建过程。Maven拥有强大的生命周期和插件体系,可以用于编译、测试、打包、部署等多种任务,简化了项目的构建流程。 Gulp则是一个基于Node.js的流式...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    #PCDATA, element-name 包含文本和其它子元素 &lt;MYFILE(#PCDTATA,TITLE)&gt; MYFILE元素必须包含文本和TITLE子元素 , 使用逗号分隔排序 &lt;MYFILE (TITLE,AUTHOR,EMAIL)&gt; MYFILE元素必须依次包含TITILE,AUTHOR,EMAIL三...

    delphi编译错误.txt

    15. **Bad global symbol definition: `&lt;Name&gt;` in object file `&lt;Filename&gt;`** - **含义**: 对象文件 `&lt;Filename&gt;` 中的全局符号 `&lt;Name&gt;` 定义不正确。 - **解决办法**: 检查和修正全局符号定义。 16. **Bad ...

    表格合并table单元合并

    例如,`&lt;td rowspan="5"&gt;11&lt;/td&gt;`意味着该单元格会跨越5行。 ##### 2. JavaScript逻辑 在JavaScript部分,代码首先定义了两个对象`o2`和`o`,以及一个二维数组`tblStr`来存储表格数据。 ```javascript o = {}; o[...

    基于JavaScript的树形菜单

    节点之间通过父节点和子节点的关系连接。在HTML中,通常使用`&lt;ul&gt;`和`&lt;li&gt;`元素来构建基础的结构,如下所示: ```html &lt;ul id="treeMenu"&gt; &lt;li&gt;父节点1 &lt;ul&gt; &lt;li&gt;子节点1.1&lt;/li&gt; &lt;li&gt;子节点1.2&lt;/li&gt; &lt;/ul&gt; &lt;/...

    js树形菜单集合~~~~~~~~~~~~~~

    在JavaScript中,我们通常使用DOM(Document Object Model)对象来创建和操作这些节点。 二、HTML基础结构 首先,我们需要在HTML中定义基本的结构,这通常包括一个包含多个`&lt;li&gt;`元素的`&lt;ul&gt;`列表,其中每个`&lt;li&gt;`...

    JSON无限折叠菜单特效.zip

    在创建无限折叠菜单时,我们通常会使用`&lt;ul&gt;`和`&lt;li&gt;`元素来表示菜单的层级关系,`&lt;a&gt;`标签则作为点击触发展开/折叠动作的元素。例如: ```html &lt;ul class="menu"&gt; &lt;li&gt; &lt;a href="#"&gt;菜单1&lt;/a&gt; &lt;ul&gt; &lt;li&gt;&lt;a ...

    w3school(网页完整版)

    例如,`&lt;html&gt;`、`&lt;head&gt;`、`&lt;body&gt;`是基本结构标签,`&lt;h1&gt;`到`&lt;h6&gt;`定义标题,`&lt;p&gt;`表示段落,`&lt;a&gt;`用于超链接,`&lt;img&gt;`插入图片。HTML5新增了多媒体支持,如`&lt;video&gt;`和`&lt;audio&gt;`标签。 2. **CSS (Cascading ...

    JavaScript验证教程

    例如,`&lt;head&gt;`和`&lt;body&gt;`元素是`&lt;html&gt;`的直接子节点。 ##### 1.2 使用JavaScript获取HTML元素 在JavaScript中,可以通过`document`对象来访问HTML文档中的元素。常用的获取元素的方法包括: - `getElementById...

    sap 操作XML(自己的笔记)

    - **基于DOM (Document Object Model) 的解析**:这种方式会将整个XML文档加载到内存中,然后通过DOM API进行访问和修改。适合处理较小的XML文档。 - **基于事件的解析**:这种方式采用事件驱动的方式,逐行读取XML...

    freemarker总结

    除了无法访问它的大小和不能使用索引来获得它的子变量:集合可以看作只能由&lt;#list...&gt;指令使用的受限sequences。 5、 方法:通过传递的参数进行计算,以新对象返回结果 方法变量通常是基于给出的参数计算值在数据...

    Dom编程练习程序(11-17).docx

    `&lt;div&gt;` 用于显示文本和图像,而 `&lt;select&gt;` 元素则用于创建下拉列表。 - **CSS样式**:通过使用内联样式或外部样式表,可以为HTML元素添加特定的视觉样式。在这个例子中,使用了内联样式来设置元素的高度、宽度和...

Global site tag (gtag.js) - Google Analytics