javascript如何获取函数名称和参数⽅法实例详解⼀、获取函数名称的3种实现⽅法
实例1:
在js权威指南中看到的⼀个⽅法:
1 2 Name = function(){
return this.name || String().match(/function\s*([^(]*)\(/)[1] }
实例2:
如果当前函数是有名函数,则返回其名字,如果是匿名函数则返回被赋值的函数变量名,如果是闭包中匿名函数则返回“anonymous”。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18var getFnName = function(callee){
var_callee = String().replace(/[\s\?]*/g,""), comb = _callee.length >= 50 ? 50 :_callee.length; _callee = _callee.substring(0,comb);
var name = _callee.match(/^function([^\(]+?)\(/); if(name && name[1]){
return name[1];
}
var caller = callee.caller,
js arguments_caller = String().replace(/[\s\?]*/g,"");
var last = _caller.indexOf(_callee),
str = _caller.substring(last-30,last);
name = str.match(/var([^\=]+?)\=/);
if(name && name[1]){
return name[1];
}
return"anonymous"
};
使⽤:在要调查的函数内部执⾏此函数,传⼊⼀个参数,为arguments.callee。
1 2 3 4 5 6 7function ee(){
//+++++++++++++++++++++++++++++++++ var fnname =getFnName(arguments.callee) //+++++++++++++++++++++++++++++++++ alert(fnname)
};
ee();
实例3:
1 2 3 4 5 6function getFuncName(_callee)
{
var_text = _String();
var_scriptArr = document.scripts; for(var i=0; i<_scriptArr.length; i++) {
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 {
var_start = _scriptArr[i].text.indexOf(_text);
if(_start != -1)
{
if(/^function\s*\(.*\).*\r\n/.test(_text))
{
var_tempArr = _scriptArr[i].text.substr(0, _start).split('\r\n');
return_tempArr[_tempArr.length - 1].replace(/(var)|(\s*)/g, '').replace(/=/g, ''); }
else
return_text.match(/^function\s*([^\(]+).*\r\n/)[1];
}
}
}
function a()
{
return getFuncName(arguments.callee);
}
var b = function()
{
return getFuncName(arguments.callee);
}
window.alert(a());
window.alert(b());
⼆、js获取函数的所有参数和遍历某个对象所有的属性名称和值的⽅法1.获取所有参数
1 2 3function test(){
for(var i=0;i<arguments.length;i++) document.write(arguments[i]); }
2.遍历某个对象所有的属性名称和值的⽅法
1 2 3 4 5 6 7 8 9 10<script language="javascript">
var obj = new Object();
obj.pro2 = "23";
obj.pro3 = "abcdeg"; php程序员站
for(items in obj){
document.write("属性:"+items+"的值是 ("+ obj[items] +")"); document.write("<br>");
}
</script>
以上就是javascript如何获取函数名称和参数⽅法实例详解的详细内容,更多请关注php中⽂⽹其它相关⽂章!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论