JS中的call_user_func封裝

PHP常見的call_user_func方法,在JS中有時候會用到,好比你想根據某個動態變量去執行方法。 app

之前遇到過相似的問題沒有解決,如今不太記得具體案例了。今天無心中看到相似文章,學到了。代碼以下: this

<script>
function call_user_func(cb, params) {
	func = window[cb];
	func.apply(cb, params);
}

var funcs = ['test1', 'test2'];
for(var i=0;i<funcs.length;i++) {
	call_user_func(funcs[i], ["ddd", "cc"]);
}
function test1(a, b) {
	console.log(a + b + 'is a good gay');
}
function test2(a, b) {
	console.log(a+b+" is sb");
}
</script>



JS中的call()和apply()方法,是調用某一個對象的方法,並將指針指向另外一個對象
<script>
function test3() {
	this.name = "ddd";
	this.showName = function(){
		alert(this.name);
	}
}

function test4() {
	this.name = "ccc";
}
var t4 = new test4();
var t3 = new test3();
t3.showName.call(t4);
</script>
相關文章
相關標籤/搜索