内部函数是外部函数的属性吗?

发布于 2024-12-09 16:50:57 字数 215 浏览 1 评论 0原文

Function.prototype.test = function(){return "F"}
function hh(){var x="xx";function test(){return "f"}}

print(hh.test());

结果是“f”,这是否意味着内部函数是外部函数的属性?

==更新了我的代码,但结果仍然是“f”。 !_!

Function.prototype.test = function(){return "F"}
function hh(){var x="xx";function test(){return "f"}}

print(hh.test());

the result is "f", does that mean the inner function is a property of outer function?

== updated my code, but the result is still "f". !_!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

阳光的暖冬 2024-12-16 16:50:57

结果应该是一个错误 - 至少在 Chrome 中是这样。

hh 内的 test 是本地函数,不应该从外部访问它。

至于Function.test,它是Function的属性 - 不是所有函数的成员。如果您确实想让某些东西成为所有函数的成员,则需要将其添加到 Function.prototype

The result should be an error - and at least in Chrome, it is.

test inside hh is a local function, and it should not be accessible from outside.

As for Function.test, it is a property of Function - not a member of all functions. If you actually want to make something a member of all functions, it needs to be added to Function.prototype

冷夜 2024-12-16 16:50:57

你真的设法从这段代码中得到结果吗?您正在尝试打印结果。

hh.test 将未定义,因为 test 被私有定义为 hh。在此实例中,在原型 Function.prototype.test 上定义测试将从 hh.test 返回“F”。

You actually managed to get a result from this code? You are trying to print the result.

hh.test will be undefined as test is being defined privately to hh. Defining test on the prototype Function.prototype.test would return 'F' from hh.test in this instance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文