Javascript 可变参数?

Wes*_*Wes 1 javascript parameters object members

这只是一个关于 javascript 的技术问题。在 javascript 中,我小组的一名成员发现 javascript 对象创建有些奇怪。出于某种原因,对象中的参数已经被视为成员,而没有将它们分配给在对象的构造函数中创建的任何成员变量。参数也是可变的,如下面的代码块所示。

这是显示我们正在进行的测试的代码。

function NamedItem(name)
{
    name = 5;

    this.getName = function ()
    {
        return name;
    }
}


document.write(namedItem.getName() + "\n");  //5
Run Code Online (Sandbox Code Playgroud)

这是合法的吗?危险吗?

SLa*_*aks 5

这叫做闭包。
嵌套函数可以从其父函数访问变量,并将变量的生命周期延长到父函数执行之外。

它与对象无关。