如何通过一个js方法的方法名,获取到这个js方法定义的代码(方法体)?

JavaScript017

如何通过一个js方法的方法名,获取到这个js方法定义的代码(方法体)?,第1张

可以使用js的eval函数实现,示例如下:

<script type="text/javascript">

//自定义函数,用于弹出三个参数的值

function alertFunc(str1,str2,str3){

alert(str1)

alert(str2)

alert(str3)

}

//自定义函数:根据传入的函数名,调用函数

function callAlert(functionName){

//根据函数名得到函数类型

var func=eval(functionName)

//创建函数对象,并调用

new func(arguments[1],arguments[2],arguments[3])

}

</script>

<!--编写按钮,在点击事件中调用函数-->

<button onclick="callAlert('alertFunc','tom','hello','world')" >测试函数调用</button>

JS在页面中插入HTML代码,在js的方法中写入html代码,用innerHTML函数,最后在html代码需要调用的时候,调用该方法即可。代码及步骤如下:点击定义和用法getElementById()方法可返回对拥有指定ID的第一个对象的引用。定义和用法innerHTML属性设置或返回表格行的开始和结束标签之间的HTML。

首先引入你的js

<script type="text/javascript" src="xx.js"></script>

属于同一文档对象的方法名是不允许重名的,因为js没有重载这一概念.

所以把你页面上的方法test或js的test方法名改成其它的名字.

举个例子:

xx.js文件有写有一个

function testJs(value){

value="xxx"

return value

}

引入以上的js后,在你的页面上写一个

function test(){

var ret = testJs("x")

alert(ret)

}