码迷,mamicode.com
首页 > Web开发 > 详细

JS中的call_user_func封装

时间:2014-12-23 19:44:31      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

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>



JS中的call_user_func封装

标签:

原文地址:http://my.oschina.net/u/948242/blog/359687

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!