Heim > Web-Frontend > js-Tutorial > Codebeispiele für Javascript zum Abrufen von Funktionsnamen, Funktionsparametern und Objektattributnamen_Grundkenntnisse

Codebeispiele für Javascript zum Abrufen von Funktionsnamen, Funktionsparametern und Objektattributnamen_Grundkenntnisse

WBOY
Freigeben: 2016-05-16 16:52:22
Original
974 Leute haben es durchsucht

1. Drei Implementierungsmethoden zum Erhalten von Funktionsnamen

Beispiel 1:

Eine Methode, die im maßgeblichen js-Leitfaden zu sehen ist:

Function.prototype.getName = function(){
return this.name || this.toString().match(/functions*([^(]*)(/)[1]
}

Beispiel 2:

Wenn es sich bei der aktuellen Funktion um eine benannte Funktion handelt, wird ihr Name zurückgegeben. Wenn es sich um eine anonyme Funktion handelt, wird der zugewiesene Funktionsvariablenname zurückgegeben. Wenn es sich um eine anonyme Funktion in einem Abschluss handelt, wird „anonymous“ zurückgegeben.

Code kopieren Der Code lautet wie folgt:

var getFnName = function(callee){
var _callee = callee.toString().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,
_caller = caller.toString().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]; Funktion, übergeben Sie einen Parameter, nämlich arguments.callee function ee(){
//
var fnname =getFnName(arguments .callee)
//
alarm(fnname)
};
ee();


Code kopieren


Der Code lautet wie folgt:


function getFuncName(_callee)
{ var _text = _callee.toString();

var _scriptArr = document.scripts; for (var i=0; i<_scriptArr.length; i ) {

var _start = _scriptArr[i ].text.indexOf(_text);

if (_start != -1)

return _text.match(/^functions*([^(] ). *rn/ )[1];
}
}
}
function a()
{
return getFuncName(arguments.callee);
}
var b = function ()
{
return getFuncName(arguments.callee);
}
window.alert(a());
window.alert(b());




Es gibt eine weitere Situation, die mit der oben genannten Methode nicht gelöst werden kann. Ich hoffe, jemand, der eine Lösung hat, kann mir einen Rat geben.




Code kopieren


Der Code lautet wie folgt: function()
{
return getFuncName(arguments.callee);
}
}

window.alert(x.run()); In diesem Fall kann der Name der Funktion nicht abgerufen werden;

2. js-Methode zum Abrufen aller Parameter einer Funktion und zum Durchlaufen aller Attributnamen und -werte eines Objekts


1. Alle Parameter abrufenKopieren Sie den Code

Der Code lautet wie folgt:


Funktionstest(){

for(var i=0;i document.write(arguments[i]);

}

2. Methode zum Durchlaufen aller Attributnamen und -werte eines Objekts

Code kopieren Code wie folgt:



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage