2016-09-08 5 views
0

Dies gibt eine Möglichkeit, einen willkürlichen Wert an "this" in der Foo-Funktion weiterzuleiten;Übergeben Sie einen Wert an 'this' in einer JavaScript-Funktion

function foo(a){ 
var getThis = this; 
var getA = a; 

console.log("getThis:"+getThis); 
console.log("\n"+a); 
} 

foo(5); 

Erwartete Ausgabe:

getThis: some value that I can pass 
5 

answere auf die Frage:

foo.call('some value that I can pass', 5); 

dank

+1

'foo.call (42, 5)'. Aber, nur weil Sie können, bedeutet nicht, dass Sie sollten. – zerkms

+0

Also hast du deine Antwort bekommen. Die Frage ist, warum möchtest du das? Das sind * Argumente * für – Amit

+0

@Amit Nun, du wirst ziemlich konzeptionell. Warum existiert "das" überhaupt? – 4castle

Antwort

2

Rufen Sie die Funktion apply oder call anstatt es direkt zu nennen.

foo.call("this is a string", 5); 
1

können Sie mehr über this hier MDN lesen. Sie können die Funktion mit verschiedenen this auf folgende Weise aufrufen:

foo.call("hello", 5); 

foo.apply("hello", [5]); 
Verwandte Themen