Javascript JS如何调用这个函数?
如何调用“del”函数?因为name.del和this.name没有工作: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
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);