получи тази функция:
function Something(name){
this.name = name;
}
var createSomething = (function() {
function F(args) {
return Something.apply(this, args);
}
F.prototype = Something.prototype;
return function() {
return new F(arguments);
}
})();
var x = createSomething('abc');
Защо createSomething трябва да бъде самоизвикваща се функция?
Забелязах, че когато оставям извикващите скоби ()
, x просто ще бъде празен. Но защо?
Той извиква "незапитан" при инициализацията на javascript и след това се изпълнява отново, след като бъде "помолен". Но какъв е смисълът от първото бягане? Правилно ли присвоява "това" правилно или какъв е смисълът от употреба?
function(){return new F(arguments)}
- person slebetman   schedule 14.09.2014