js动态调用方法名

JavaScript023

js动态调用方法名,第1张

JS动态调用方法名

1.方法就是使用js里面的eval 下面是自己写的例子 代码如下: call("showmsg")functioncall(functionName){ eval("this."+functionName+"()")}functionshowmsg(){ alert("success")} eval能将你拼接的字符串自动识别为方法,并调用。 但弊端也是很大的,想象一下,某个人改你调用地方的方法名,便能调用你的任意方法。

2.方法主要用作自己定义的方法 主要是第二种方法需要特定的方式去写 代码如下: functioncall(functionName) { showmsgs["showmsg"]()}varshowmsgs

extendClass.showMsg = function(){…}

是指给extendClass加了一个自己的showMsg方法,相当于:

function extendClass()

{

this.showMsg =function ()

{

alert("extendClass::showMsg inside")

}

showMsg = function(){…}

}

据我的理解,this指向实例化的obj,根据作用域链找到alert("extendClass::showMsg inside")这个的showMsg

这里有一篇关于new做了哪些工作的文章,你看看

http://www.cnblogs.com/RitaRichard/archive/2011/10/12/2208902.html

concat()连接两个或更多的数组,并返回结果。

join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

pop()删除并返回数组的最后一个元素

push()向数组的末尾添加一个或更多元素,并返回新的长度。

reverse()颠倒数组中元素的顺序。