我很难理解Javascript中的静态作用域。任何人都可以解释以下两个功能之间的区别

如果我这样做很好

function sayHi(){
        alert("Hi");
    }
    sayHi.alternate=function(){
        alert("Hola");
    }
    sayHi();
    sayHi.alternate();


但是如果我愿意的话就去做

function sayHi(){
        alert("Hi");
    }
    function sayHi.alternate(){
        alert("Hola");
    }
    sayHi();
    sayHi.alternate();


和往常一样谢谢

最佳答案

这是无效的javascript:

function sayHi.alternate(){


这样声明函数时,您不能分配属性。您只能定义要用于该功能的名称。这就是为什么在将其他形式分配给对象属性或变量时使用其他形式的原因。

10-07 14:20