Как я могу назвать функцию 'del'? потому что name.del() и this.name не работают :(JS как назвать эту функцию?
var name = function(){
this.del = function(){
}
name.del(); // no work
this.del(); // no work
}
Как я могу назвать функцию 'del'? потому что name.del() и this.name не работают :(JS как назвать эту функцию?
var name = function(){
this.del = function(){
}
name.del(); // no work
this.del(); // no work
}
var name={
add:function(){
alert('add');
},
del:function(){
alert('del');
},
}
name.del();
здесь называют это объект, который внутри может иметь некоторые функции и вары я думаю, что это может помочь вам
Это не то, что ОП пытается сделать в своем примере – Sprottenwels
@Sprottenwels, почему это неправильно ??? – Farhad
Это не само по себе. Тем не менее, ОП пытается вызвать функцию внутри другой, анонимной. Он не делает ясно, что он пытается сделать, поэтому бросать на него какое-то решение, не теряя хотя бы несколько слов о том, что это на самом деле делает, не очень полезно. IMO – Sprottenwels
В для того, чтобы помочь вам, мы должны понять, что вы пытаетесь сделать, если вы только хотите, чтобы вызвать функцию в анонимной один, вы могли бы сделать это:.
var name = function(){
function del(){
}
del();
}
Однако, если вы хотели бы использовать name
в стиле класса, вы были на правильном пути.
function MyClass(){
this.del = function(){
}
}
// Instantiate
var name = new MyCLass();
name.del();
Существует множество дополнительных способов сделать что-то. То, что вы задумали, зависит от вашего прецедента.
Вы объявляете name
как функцию, но вы также объявляете del
как еще одну функцию, member of the first
. Этот синтаксис позволяет использовать name
как Object
(reffer to 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);
Это зависит от того, как 'называется name'. 'this' не всегда имеет одну и ту же ссылку, но если вы выполняете' this.del() 'inside' name', это всегда будет работать. –
Что вы на самом деле пытаетесь достичь? – Sprottenwels