Heim >php教程 >PHP开发 >Einführung in die in JavaScript integrierten Objektargumente

Einführung in die in JavaScript integrierten Objektargumente

黄舟
黄舟Original
2016-12-15 10:46:451463Durchsuche

arguments ist ein in JavaScript integriertes Objekt. Es ähnelt NodeList und verfügt über das Längenattribut, verfügt jedoch nicht über Array-Methoden wie Push und Pop.

Die Formatfunktion von Dean Edwards ist sehr inspirierend:

function format(string) {
var args = arguments;
var pattern = new RegExp('%([1- ' + args.length + '])', 'g');
return String(string).replace(pattern, function(match, index) {
return args[index];
}) ;
}

alert(format('%1 möchte wissen, wessen %2 du %3', 'I', 'shirt', 'wear'));

Beachten Sie drei Punkte: 1. Die Verwendung von String (string) stellt sicher, dass kein Fehler auftritt, wenn string ein beliebiger Wert ist (z. B. null, false, 123 usw.). 2. Überprüfen Sie die Ersetzungsmethode. Der zweite Parameter kann eine Funktion sein, die sehr flexibel ist. 3. Durch die geschickte Kombination von Argumenten und regulären Ausdrücken wird die Formatfunktion realisiert.

So konvertieren Sie Argumente in echte Arrays:

var args = Array.prototype.slice.call(arguments);

Dazu gibt es nichts zu sagen , Klasse Die Slice-Methode kann verwendet werden, um ein Array-Objekt in ein Array umzuwandeln.

Erstellen Sie eine Funktion mit voreingestellten Parametern:

function makeFunc() {
var args = Array.prototype.slice.call(arguments);
var func = args ();
return function() {
return func.apply(null, args.concat(Array.prototype.slice.call(arguments)));
};
}
var majorTom = makeFunc(format, „Hier ist Major Tom für die Bodenkontrolle. Ich bin %1.“);
majorTom(“schritt durch die Tür“);
majorTom(“schwebend auf höchst eigenartige Weise ");

Das ist ziemlich interessant. makeFunc ist eine Funktion, die Funktionen erstellen kann. Die erstellten Funktionen haben alle die gleichen voreingestellten Parameter. Dies vermeidet Codeduplizierung und verbessert die Wiederverwendbarkeit.

Erstellen Sie eine selbstreferenzielle Funktion:

function repeat(fn, times, delay) {
return function() {
if(times-- > 0) {
fn.apply(null, arguments);
var args = Array.prototype.slice.call(arguments);
var self = arguments.callee;
setTimeout(function(){self . apply (null,args)}, delay);
}
};
}

function comms { alarm('s'); , 3, 2000);
somethingWrong("Kannst du mich hören, Major Tom?");

ist eigentlich die Verwendung von arguments.callee, das oft verwendet wird, um sich selbst zu bezeichnen Hier werden anonyme Funktionen verwendet, um die Wiederholungsfunktion zu implementieren. Beachten Sie, dass Wiederholung eine Funktion ist, die Funktionen erstellt. Die Idee ist etwas kompliziert, aber wenn ich darüber nachdenke, ist sie sehr gut.

Beenden Sie mit dem letzten Satz im Originaltext:

Argumente werden nicht oft verwendet, etwas skurril, aber voller Überraschungen und es lohnt sich, sie kennenzulernen!

Oben Dies ist die Einführung der in JavaScript integrierten Objektargumente. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn).


Stellungnahme:
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