Функция не отличается. В чем разница, как вы их называете.
Например, те, имеют один и тот же эффект:
function MyObj(){
this.someVar = "xyz";
this.someMethod = function(){
console.log(this.someVar);
}
}
var obj = new MyObj();
obj.someMethod();
и
function someMethod(){
console.log(this.someVar);
}
function MyObj(){
this.someVar = "xyz";
}
var obj = new MyObj();
someMethod.call(obj);
и
function someMethod(){
console.log(this.someVar);
}
function MyObj(){
this.someVar = "xyz";
}
var obj = new MyObj();
obj.f = someMethod;
obj.f();
Как помечено ваш вопрос prototypal-inheritance, я закончить, говоря, лучший способ построить вашу функцию был бы следующим:
function MyObj(){
this.someVar = "xyz";
}
MyObj.prototype.someMethod = function(){
console.log(this.someVar);
}
var obj = new MyObj();
obj.someMethod();
Таким образом, все экземпляры MyObj
разделяют ту же функцию и, следовательно, легче.
Этот вопрос отчасти расплывчаты. Что ты конкретно имеешь ввиду? В этой функции вы назначаете значение переменной и вызываете другую функцию вне вашей текущей функции. Если вы добавите два номера, вы, вероятно, останетесь внутри функции и не будете вызывать другую функцию. Но я не думаю, что это ваш вопрос ..? – Joetjah
II рекомендовал бы прочитать статью [Именованные функциональные выражения, демистифицированные] (http://kangax.github.com/nfe/) – C5H8NNaO4
Вы имеете в виду разницу между встроенными функциями и определенными пользователем функциями в javascript? –