`

Function 和Object 的关系<一>

    博客分类:
  • js
 
阅读更多

转载:http://www.jb51.net/article/76553.htm

Function是javascript里最常用的一个概念,javascript里的function是最容易入手的一个功能,但它也是javascript最难理解最难掌握的一个概念。

今天我们来尝试理解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函数实现代码,那当然是不一样了.他们是怎么实现的,那我们就不去详细琢磨了,如果想琢磨的,就可以了解浏览器的相关知识了。

 

 

分享到:
评论

相关推荐

    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...

    理解Javascript Function与Object

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

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

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

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

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

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

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

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

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

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

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

    组织架构代码,点击伸缩

    首先,我们需要创建一个HTML结构来表示组织架构,每个节点可以是一个`&lt;li&gt;`元素,包含部门名称和其他相关信息。例如: ```html &lt;ul id="orgStructure"&gt; &lt;li&gt;部门A &lt;ul&gt; &lt;li&gt;小组A1&lt;/li&gt; &lt;li&gt;小组A2&lt;/li&gt; &lt;/ul&gt;...

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

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

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

    你可以将上面的myfile.xml修改一下,比如将&lt; email&gt;改为&lt; Email&gt;,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: &lt;?xml version="1.0" encoding="GB2312"?&gt; &lt;myfile&gt; &lt;title&gt;XML轻松学习手册&lt;/title&gt; ...

    表格合并table单元合并

    表格合并是指将具有相同内容或符合特定逻辑关系的多个单元格合并为一个单元格的过程。这种操作常见于电子表格软件(如Microsoft Excel)中,但在网页开发中也经常用到,特别是对于动态生成或需要特殊布局的表格。 #...

    基于JavaScript的树形菜单

    例如,可以创建一个名为`.collapsed`的类,当添加到子菜单的`&lt;ul&gt;`元素上时,表示子菜单被折叠: ```css #treeMenu ul.collapsed { display: none; } ``` 四、动态加载和异步数据 在实际应用中,树形菜单的数据...

    delphi编译错误.txt

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

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

    树形菜单是一种具有层级关系的数据展示方式,它通过节点(Node)的展开和折叠来模拟实际数据的层级结构。每个节点可以包含子节点,形成一个可展开/折叠的树状结构。在JavaScript中,我们通常使用DOM(Document ...

    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 ...

    sap 操作XML(自己的笔记)

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

    JavaScript验证教程

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

    freemarker总结

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

    js网页禁右键、复制、选择文字

    此外,过于严格的限制可能会影响用户的正常浏览体验,因此在实施这些策略时,应谨慎权衡安全性和可用性之间的关系。 在实际项目中,`js网页禁右键、看源码、复制.htm`和`JS禁止右击菜单.html`这样的文件可能是包含...

Global site tag (gtag.js) - Google Analytics