JavaScript 函数和新函数的区别

2024-02-26

下面的 JavaScript 代码让我很困惑。谁能帮我理解一下。为什么 PersonY 没有原型属性。

PersonX = function(){};
PersonY = new function(){};
alert(PersonX.prototype);
alert(PersonY.prototype);    
​

PersonX = function(){};

将对匿名函数的引用放入PersonX. PersonX指向一个函数。

PersonY = new function(){};

将对匿名构造函数的新构造实例的引用放入PersonY. PersonY指向一个对象。


关于原型,PersonY有一个。但是,由于构造函数没有附加任何属性和方法before http://jsfiddle.net/tcrKW/1/ nor after http://jsfiddle.net/tcrKW/实例化,它有一个空白原型*.

你实际上可以检查PersonY的原型通过做console.log(PersonY)。你会看到它有一个原型属性(我将其视为__proto__在 Chrome 中)这是“空白”。但它有两个隐藏属性,constructor这是创建对象的构造函数,另一个是__proto__这将引导您到达下一个“链环”,即Object object.

*Not really blank since prototype is a chain. This prototype level may be blank, but the next higher prototype may have, or in this case, does have properties and methods.

Object prototype -> Constructor prototype -> Your Instance will have:
- toString()        - blank                  - toString()
- hasOwnProperty()                           - hasOwnProperty()
- and more...                                - and more...
                                             - ...but nothing from Constructor
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 函数和新函数的区别 的相关文章

  • 将 OoXml 插入单词抛出错误:未知

    我一直在尝试通过office js将OOXML插入到word文档的正文内容中insertOoXML 方法 我什至尝试过最简单的实现 认为我在尝试替换 XML 本身中的 fieldCodes 时做了一些不正确的事情 所有结果都是这样Error
  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • Meteor:应用程序无法在 0.9.1.1 版本上运行

    出现类似错误 Error TypeError undefined is not a function evaluating Template create anonymous function iron dynamic template j
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中

随机推荐

  • 使用 WebCrypto API 生成 RSA 密钥对并使用密码保护它

    标题说明了一切 我想知道如何使用 WebCrypto API 生成 RSA 密钥对 以及如何使用密码保护它 以便将其存储在数据库中 You can 使用 WebCrypto 生成 RSA 密钥对并将其导出如 jwk Json Web 密钥
  • Spark 中的类型安全配置

    我已经在 Spark 应用程序中定义了一个默认配置 该配置位于src main resources reference conf I use ConfigFactory load 来获取配置 当我运行应用程序时spark submit它采用
  • 双Python for循环的numpy向量化

    V 是 n p numpy 数组 通常维度为 n 10 p 20000 我现在的代码看起来像 A np zeros p for i in xrange n for j in xrange i 1 A F i j V i V j 我将如何重写
  • Xpath 选择祖先

    我试图找到一个公式 根据元素在 XML 层次结构中的位置为该元素创建 URL 这是我的示例 xml
  • HttpContent 边界双引号

    我有这个代码示例 它是作为另一个问题的答案发布的 使用 C 通过 HTTP POST 发送文件 https stackoverflow com questions 1131425 send a file via http post with
  • 如何使用jquery查找表中行的索引

    我正在尝试查找表中一行的索引 我正在尝试使用以下代码 但我似乎得到的索引为 1 document ready function tr click function var index table index this span text T
  • 在 Javascript 中将 GMT 日期/时间转换为 EST

    在 Javascript 中 无论用户设置如何 如何将 GMT 中的日期 时间转换为 EST var tmpDate New Date enter any valid Date format here JavaScriptDate http
  • 如何证明一个函数有效?

    我最近开始信奉测试 并主要从单元测试开始 我编写单元测试来说明函数在某些情况下工作 特别是使用我正在使用的确切输入 我可能会做一些单元测试来练习该功能 不过 除了该函数在我测试过的场景下达到了我预期的效果之外 我实际上还没有证明任何其他东西
  • 从 .Net 4.0 到 4.5 的重定向解决方案 - 如何重定向 NuGet 包?

    我已将 VS2010 中当前针对 NET 4 0 的解决方案迁移到 VS2012 现在我想将其重新定位到 Net 4 5 我不确定的是 NuGet 包 例如 我在 VS2010 中从 EF4 更新的 EF5 实际上是 EF 4 4 如下所示
  • Redirect 和 RewriteRule 一起使用时的 .htaccess 重定向循环

    我正在 HTACCESS 文件中尝试以下操作 我想要 301 重定向 gt http www domain com somepage php page foo http www domain com somepage php page fo
  • Google App脚本更新另一张工作表中的单元格值

    我对这个有点卡住了 我试图在更新另一个电子表格的第一列后找到相应的行并更新另一个谷歌电子表格中的最后一列 当用户在电子表格 X 的 ColA 中选择 重新进货 时 我需要在另一张工作表 Y 上的 ColB 中查找 ID 值 然后我需要访问电
  • 如何获取 websocket 端点内的 cookie 值

    我在我的应用程序中使用基于 JavaEE 7 的 Websocket API 我需要访问 websocket 端点内 cookie 中设置的值 Annotated one ServerEndpoint websocket 我该怎么做呢 on
  • Android:如何制作默认拨号器应用程序?

    今天我的应用遭到 Google 拒绝面对面通话 https play google com store apps details id com gazman beep 在按照策略要求请求相关权限之前 您的应用程序似乎不会提示用户成为默认处理
  • 找到最小值/谷点并获取 R 中谷点开始和谷点结束的索引

    我对统计和 R 有点陌生 我需要找到峰值和谷值以及峰值 谷值开始和结束的索引 对于 Maxima peak 我得到了 findPeaks 函数 它可以帮助我满足峰值要求 但是我无法找到任何软件包来查找适合我的要求的谷点 以下是用于查找峰值的
  • 加载tensorflow模型而不导入tensorflow

    是否可以训练张量流模型 然后将其导出为无需张量流即可访问的模型 我想将一些机器学习应用到一个学校项目中 其中代码在在线门户上提交 但它没有安装张量流 只有标准库 我可以上传其他文件 但任何 TensorFlow 文件都需要 TensorFl
  • 什么是网络线程?

    由于一些自身引起的问题 我的 iPhone 应用程序崩溃并收到以下错误 Tried to obtain the web lock from a thread other than the main thread or the web thr
  • GraphQL 查询从 GitHub 存储库获取文件信息

    我想使用 GitHub 存储库来存放我的 Gatsby 网站中的帖子 现在我正在使用两个查询 首先是获取文件的名称 viewer repository name repository name object expression maste
  • perl xs 模块编写 - 使用同一 xs 文件中的另一个函数

    我是 XS 的初学者 花了一些时间在网上寻找这个答案 但没有运气 问题是 XS 更改了函数的名称 当它进行编译时 我会得到一个未定义的引用错误 例如 考虑下面的 XS 代码 size t matrixIndex colIndex rowIn
  • 如何在 macOS 中检查应用程序权限 | Python

    我是 Mac 新用户 我正在做一个Python截屏的应用程序 它完美地工作在Linux and Windows 当我打开我的应用程序时 在Mac 我注意到我必须获得许可System Preferences gt Security Priva
  • JavaScript 函数和新函数的区别

    下面的 JavaScript 代码让我很困惑 谁能帮我理解一下 为什么 PersonY 没有原型属性 PersonX function PersonY new function alert PersonX prototype alert P