JS中的call_user_func封装

PHP常见的call_user_func方法,在JS中有时候会用到,比如你想根据某个动态变量去执行方法。

以前遇到过类似的问题没有解决,现在不太记得具体案例了。今天无意中看到类似文章,学到了。代码如下:

<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>



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。