Javascript JS如何调用这个函数?

Javascript JS如何调用这个函数?,javascript,Javascript,如何调用“del”函数?因为name.del和this.name没有工作: var name = function(){ this.del = function(){ } name.del(); // no work this.del(); // no work } 这里的name是一个对象,其中可以包含一些函数和变量 我认为这可以帮助你为了帮助你,我们必须了解你在做什么。如果您只想调用匿名函数中的函数,可以执行以下操作: var name = fun

如何调用“del”函数?因为name.del和this.name没有工作:

 var name = function(){
     this.del = function(){
     }
    name.del(); // no work 
    this.del(); // no work
}
这里的name是一个对象,其中可以包含一些函数和变量
我认为这可以帮助你

为了帮助你,我们必须了解你在做什么。如果您只想调用匿名函数中的函数,可以执行以下操作:

 var name = function(){

    function del(){

    }

    del();
}
然而,如果您希望以类实例的方式使用name,那么您的思路是正确的

function MyClass(){

  this.del = function(){

  }

}

// Instantiate

var name = new MyCLass();

name.del();
做事情还有很多其他的方法。 您应该选择什么在很大程度上取决于您的用例。

您已经将name声明为一个函数,但您也将del声明为另一个函数,即第一个函数的成员。此语法允许您将名称用作POO的对象引用或函数

            var name = function () {
                this.del = function () {
                    console.log("Hello");
                };
                this.del();
            };
            name();
这将导致name也被执行&name.del。 您也可以通过这种方式自动运行它

            (function () {
                this.del = function () {
                    console.log("Hello");
                };
            )(); // autoExecute
如果您想保留函数的结果以供将来使用

            var name = (function () {
                this.del = function () {
                    return "StackOverflow";
                };
            )();
            alert(name);

这取决于名称的命名方式。这并不总是有相同的引用,但如果你在名称中使用这个.del,它将始终有效。你实际上想实现什么?这不是OP在他的示例中试图实现的。这本身并没有错。然而,OP试图调用另一个匿名函数中的函数。他不清楚自己想做什么,所以向他抛出一些解决方案,而不损失至少几句话,说明其实际作用,并不是很有帮助的IMO@Sprottenwels你是说我的回答没有解释?没错。请考虑添加一些单词,以便OP能够理解您的代码所做的以及何时合理使用。it@Sprottenwels我补充了一些解释:
            var name = (function () {
                this.del = function () {
                    return "StackOverflow";
                };
            )();
            alert(name);