以下のコード サンプルのfunc.apply(null, arr)
との使用の違いを教えてください。func.apply(this, arr)
var Foo = function() {
function useMe(a, b, c)
{
document.body.innerHTML =
'<p>a: ' + a + '<br>b: ' + b + '<br>c: ' + c + '</p>'
}
function go()
{
var arr = ['foo', 'bar', 'baz']
useMe.apply(null, arr)
}
return {
go: go,
useMe: useMe
}
}()
Foo.go()
ソース: http://jsfiddle.net/YQsaJ/
var Foo = function() {
function useMe(a, b, c)
{
document.body.innerHTML =
'<p>a: ' + a + '<br>b: ' + b + '<br>c: ' + c + '</p>'
}
function go()
{
var arr = ['foo', 'bar', 'baz']
useMe.apply(this, arr) // USING this INSTEAD OF null
}
return {
go: go,
useMe: useMe
}
}()
Foo.go()
JSFiddle: http://jsfiddle.net/3DvtA/
null
関数の最初の引数としてwhen が使用されていることを理解していapply
ます。つまり、グローバル オブジェクトはの引数window
として使用されます。上記のコードのように単純な使い方の場合、関数の最初の引数として何を渡すかは本当に重要でしょうか?this
useMe
apply