问题标签 [function-constructor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
243 浏览

javascript - 在自定义函数构造函数中操作 DOM

我编写了一个带有原型的函数构造函数,该原型创建了 svg 图片并将其插入到网页中。我有两个问题:

1 可以把创建实例过程中用到的构造函数内部的部分代码移到原型对象中吗?据我所知,这些原型方法通常用于已创建的实例,例如var a = [2,3,4]; a.reverse()

2 在函数构造函数内部以这种方式操作 DOM 对象可以吗?DOM 对象不是 js 原生对象,它们是 js-engine 之外的宿主对象。它们类似于 js 对象,但由浏览器在其他地方创建

下面是代码:

0 投票
2 回答
446 浏览

javascript - 函数构造函数 - 使用原型添加函数给出 - Uncaught SyntaxError: Unexpected token {

我尝试使用原型链接将函数添加y()到对象构造函数中。x它导致unexpected错误:

意外的标记{

我希望函数 x 为:

0 投票
2 回答
1208 浏览

javascript - console.log() 对象不会记录通过节点 js 控制台中的原型添加的方法。或者如何打印原型?

最后一个 console.log() 不会通过点原型打印新添加的名为“getName”的方法,只打印属性“name”,在这里我希望在 Person 中打印属性“name”和方法“getName”目的。以下是上述代码的实际输出和所需输出:

实际输出

提努
人{名称:“提努”}

期望的输出

提努
人{名称:“提努”,getName:[功能]}

下图显示了另一个示例,其中通过原型添加的方法“getFullName”在打印以控制台添加它的对象时正确显示。并期望与我的示例相同

图片在这里

0 投票
1 回答
25 浏览

javascript - 如何记录此函数构造函数值?

我在括号中使用 JS,当我刷新此部分时,Carbo 的值在控制台中是正确的。但是,当我在那个console.log 中尝试这个时,谷歌控制台只写了“未定义”。

为什么以及如何解决这个问题?

这是我的小练习计划。

感谢您的帮助。

亚当

!另一件事! 就在此时,当我写下这些台词时,我想到了一些东西。原型 (326) 的值实际上不是动态的。但我有一个想法。当我检查 ,1 美元到 huf' 时,我必须从第一个谷歌页面写下这个实际值。

我该如何开始?

谢谢!

0 投票
2 回答
49 浏览

javascript - 该功能没有给我正确的结果

我正在尝试在 JavaScript 中构建一个功能,将随机问题连同 3 个可能的答案一起发送到提示中。用户给出一个答案,该函数在警报框中显示结果(无论答案是否正确)。正是在那里我遇到了麻烦。因为无论给出的答案是对还是错,它总是会表明答案是不正确的。我已经检查了 100 次代码,但找不到我的错误。有人可以帮助我解释我哪里出错了吗?

此外,如果在不使用 JQuery 的情况下对代码有任何改进,我很想听听!我最近才开始学习 JS,所以欢迎任何输入!

0 投票
1 回答
35 浏览

javascript - 使用 Function 构造函数覆盖 Object.prototype 方法时出现范围错误

我正在尝试覆盖Object.prototype.toString以添加其他类描述的功能。

这是初始代码:

当我在控制台中运行它时,我得到以下输出:

好消息是它不会彻底改变工作方式Object.prototype.toString,因此对于另一种类型 [即不是 TestClass],事情会按预期工作,例如Object.prototype.toString.call(12)将输出[object Number].

到目前为止,此实现没有问题。但是,我有以下代码的另一个实现:

有了这个,我得到了 TestClass 的正确输出,但是当我使用其他东西时,比如12,我得到一个 RangeError:

这似乎是递归的问题toString.apply。但是,我不知道为什么第二个实现是递归的,如果第一个没有?

注意:第二个实现的原因是if(this instanceof MyClassType){return '[object MyClassType]'}从数组中的类名列表中为不同的类动态添加类型检查代码[即]。换句话说,我没有为我提出的每个新类修改代码,而是将类名附加到数组中,并且自动生成条件语句。

0 投票
2 回答
49 浏览

javascript - 用 new 关键字声明函数并在 javascript 中自行调用它

我遇到了一个看起来像这样的代码:

第一个问题:它是自调用函数并返回它吗?tempFunc 究竟返回什么?

第二个问题:如果我们调用函数:

结果是 5.它如何转换字符串并计算结果?

0 投票
1 回答
40 浏览

javascript - 什么时候函数有名字,什么时候没有名字?

通过方法向对象添加新方法时,函数没有名称(匿名),而在代码中为对象编写新方法时,函数有名称。为什么会这样?

0 投票
2 回答
58 浏览

javascript - new Function() 返回最后一个值?

如何从new Function()构造函数返回最后一个值?似乎eval()默认情况下会这样做,以及vm.Script#runInContext.

我只想在浏览器中创建一个 REPL(我可以在其中执行类似的操作并在输出中2+2;返回) ,但没有(本地函数范围访问等)的缺点4evalevalAsyncFunction