gpt4 book ai didi

javascript - JavaScript 如何分配函数的 `name` 属性?

转载 作者:行者123 更新时间:2023-11-29 23:43:54 25 4
gpt4 key购买 nike

在 JavaScript 中,当我这样定义函数时

函数 aaa(){}

稍后我可以通过 name 属性访问名称:

aaa.name

会返回

“aaa”

但是,当我通过 var 定义函数时,从技术上讲,它应该是没有 name 属性的匿名函数:

var aaa=function(){}

但是它假定 aaa 是函数名并将其分配给 name 属性:

aaa.name

还会回来

“aaa”

JavaScript 如何决定 name 应该是什么,特别是考虑到赋值可以使用更复杂的场景这一事实:

var aaa=bbb=function(){}或者var aaa=arr[0]=function(){}

?

最佳答案

Javascript 通过采用等于函数的左侧参数来声明函数的 name 变量,在所有基本情况下都是 'aaa'。在第一个复杂定义中,您在 Javascript 上方声明的状态将采用变量 ab 并将其分配给名称为 'ab' 的函数。在最后一个示例中,您将函数设置为内存中的指针,这不是已定义的变量,这会将 name 属性设置为空字符串,因为 arr[0] 不是变量名,而是指向内存的指针。这是一个JSFiddle显示这个。

关于javascript - JavaScript 如何分配函数的 `name` 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44611510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com