関数の呼び出し

4338 ワード

オブジェクトには属性があり、関数属性を持つオブジェクトにはメソッドがあります.
fuction.call, fucntion.applyなどの関数メソッドがあります.
function sum(arg1, arg2){

return arg1+arg2;

}

alert(sum.apply(null, [1,2]))
sum(1,2)とalert(sum.apply(null,[1,2])の値は同じである.
applyという名前のメソッドを使用してsumの値を呼び出します.
nullは値がないので、ここでこの方法を使うのは間違っています.マティス酒に高級油を入れた感じ
sum(1,2)で所望の値を求めるとより効果的である.
o1 = {val1:1, val2:2, val3:3}
o2 = {v1:10, v2:50, v3:100, v4:25}

function sum(){
	var _sum = 0;
	for(name in this){
		_sum += this[name];
	}
	return _sum;
}
alert(sum.apply(o1)) // 6
alert(sum.apply(o2)) // 185
o 1,o 2という名前のオブジェクトをパラメータとして入れます.アプリで
sum.apply(o 1)の値はo 1の値の和である.
.apply(o 1)のため、関数sum()の内部関数this=o 1です.
sum.apply(o 1)はo 1である.は、和()に等しくなります.
でも正確に言えばapply()わあ.sum()の違いがわかりにくい
どうして.applyがこの場合、よりクールなコードになるかどうか見てみましょう.