Function是一个构造器,是一个构造函数,用于创建一个函数对象。使用function创建的变量是一个指针,指向的对象是一个Function对象。
function是一个关键字,可以声明一个函数对象,有两种创建的方式。

Function是一个功能完整的对象,作为JS的内置对象之一。而function只是一个关键字,用来创建一个普通函数或对象的构造函数。JS的普通函数都是Function对象的实例,所以函数本身也是一个对象,就像var一样,只不过这个对象具有可调用特征而已。
function创建对象和普通函数的区别:

如果用function创建构造函数,例如:var a = new function{}() 或者 var b = new Person(); 则a、b就不是普通函数,而是作为一个真正对象,是Object类型。虽然普通函数也是对象,但一个是Function,作为函数;一个是Object,作为对象。 关于这个问题,可以使用instanceof运算符去验证。

    // 案例1function Foo() {}var f1 = new Foo();console.log(f1 instanceof Foo); // trueconsole.log(f1 instanceof Object); // true// 案例二console.log(Object instanceof Function); // trueconsole.log(Object instanceof Object); // trueconsole.log(Function instanceof Object); // trueconsole.log(Function instanceof Function); // truefunction Foo() {}console.log(Object instanceof Foo); // false

1、instanceof是如何判断的?
* 表达式 A instanceof B
A是实例,有隐式原型属性,B是函数,有显式原型属性
函数的原型对象默认是空的Object实例对象
* 如果B函数的 显式原型对象 在A对象的 显式原型链上,返回true,否则返回false
2、function是通过new自己产生的实例

JS中 function 和 Function 的区别相关推荐

  1. JS中 let 和var的区别

    JS中let和var 的区别 简单介绍let var的常见变量提升 ES6可以用let定义块级作用域变量 let配合for循环的独特应用 let没有变量提升与暂时性死区 let变量不能重复声明 简单介 ...

  2. uniapp 获取到js文件var一个变量怎么获取到这个变量值_浅析Js中const,let,var的区别及作用域...

    理解:let变量的作用域只能在当前函数中 js中const,let,var的区别及作用域_lianzhang861的博客-CSDN博客​blog.csdn.net 全局作用域中,用 const 和 l ...

  3. js中的extend的用法及其JS中substring与substr的区别

    1.    JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为这两种方法的使用时一样的. ...

  4. js中几个对象的区别和用法

    js中几个对象的区别和用法 今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href" ...

  5. js中click()与onclick()的区别

    由一个简单示例到 js中click()与onclick()的区别 之前朋友在学习js的时候遇到一个有意思的问题. 先贴一份代码说一下代码构成 这里是html结构 <ul><li> ...

  6. js中 函数和方法的区别:转载于黑泽君

    js中 函数和方法的区别 在javascript中的解释为: 函数(function)是可以执行的javascript代码块,由javascript程序定义或javascript实现预定义.函数可以带 ...

  7. js中load与onload的区别

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在写交互的时候,加载函数使onload还是load呢? 趁机整理以防遗忘!! js中window.onload(function)等价于jquer ...

  8. Js中的style,currentStyle,getComputedStyle()区别

    Js中的style,currentStyle,getComputedStyle()区别  样式表有三种方式: 1.内嵌样式(inline Style)-是写在Tag里面的,内嵌样式只对所有的Tag有效 ...

  9. js中DOM, DOCUMENT, BOM, WINDOW 区别

    全栈工程师开发手册 (作者:栾鹏) js系列教程6-BOM操作全解 js系列教程7-DOM操作全解 js中DOM, DOCUMENT, BOM, WINDOW 区别 DOM 全称是 Document ...

  10. js中parentNode和parentElement的区别和用法

    了解本篇的基础必须知道什么是节点,关于html dom节点知识点和节点类型的知识,分别看<js节点都有哪些类型?怎么判断是哪种节点类型?>和<js属性节点获取和移除>,下面直接 ...

最新文章

  1. Linux下,如何给PHP安装pdo_mysql扩展
  2. protobuf相关:反射、rmi
  3. 如何搭建Docker私有仓库
  4. 【吉林】2021年下半年软考报考时间及通知
  5. 01.query的分类-条件查询和组合查询
  6. c代码实现 ifft运算_fft算法c语言_matlab fft算法_ifft c语言
  7. 基于 IdentityServer3 实现 OAuth 2.0 授权服务【密码模式(Resource Owner Password Credentials)】...
  8. 2018python做图形界面哪个库简单_2018年常见的python编程开发库都有哪些类型
  9. yolov4用1050ti_简单粗暴的多目标跟踪神器 – DeepSort
  10. 信息学奥赛一本通C++语言——1017: 浮点型数据类型存储空间大小
  11. mysql-复习表的基本操作01
  12. 设计模式之单例模式8种实现方式,其六:双重检查
  13. 网关为0.0.0.0_距离ETH 2.0仅7天,目标价为?美元
  14. ThoughtWorks 2018技术雷达峰会(6月2日@深圳)
  15. 蓝桥杯官网 试题 PREV-274 历届真题 分果果【第十二届】【省赛】【研究生组】【C++】【Java】两种解法
  16. 运输问题(模型建立、表上作业法、产销平衡、产销不平衡)
  17. 读书笔记:《用户故事地图》
  18. WPS转换成PDF在线
  19. ubuntu安装chrome浏览器64位
  20. 国产银河数字式电子计算机是属于什么,邱桂香老师-计算机基础.ppt

热门文章

  1. 【实战模拟】Kali Linux Vim命令大全 ——新手上路必备
  2. Python2.7获取QQ空间部分好友
  3. java.awt.robot api,像java.awt.Robot中的Andr​​oid API
  4. raspberry树莓派 -- CAN收发 - waveshare微雪
  5. 将两页A4 pdf文档合并到一页A4页面上打印的方法
  6. 第一次面试,收到offer后被拒绝
  7. Python 实现macOS Catalina 动态壁纸定时设置
  8. 毕业论文答辩管理系统/毕业论文管理系统的设计与实现
  9. Hbase按指定列族中指定列的列值查找数据Hbase命令
  10. 【毕业设计_课程设计】基于深度学习网络模型训练的车型识别系统