Heim  >  Artikel  >  Web-Frontend  >  Xiaomi JavaScript-Interviewfragen_Javascript-Kenntnisse

Xiaomi JavaScript-Interviewfragen_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:23:411842Durchsuche

Interviewfragen

1.

Code kopieren Der Code lautet wie folgt:

Bitte definieren Sie eine solche Funktion
Funktionswiederholung (Funktion, Zeiten, Warten) {
}
Diese Funktion kann eine neue Funktion zurückgeben. Verwenden Sie beispielsweise
wie folgt var wiederholtFun = wiederholen(alert, 10, 5000)
Nennen Sie dies wiederholten Spaß („Höllenwelt“)
Benachrichtigt helloworld zehnmal, jedes Mal im Abstand von 5 Sekunden

2.

Code kopieren Der Code lautet wie folgt:

Schreiben Sie eine Funktion stringconcat, die
erfordert var result1 = stringconcat("a", "b") result1 = "a b"
var stringconcatWithPrefix = stringconcat.prefix("hellworld");
var result2 = stringconcatWithPrefix("a", "b") result2 = "hellworld a b"

Snack-Lösung

Bei diesen beiden Fragen geht es um Schließungen. Kommen wir ohne weitere Umschweife direkt zum Code.

Code kopieren Der Code lautet wie folgt:

/**
*Die erste Frage
* @param func
* @param mal
* @param warte
* @returns {repeatImpl}
​*/
Funktionswiederholung (Funktion, Zeiten, Warten) {
//Anonyme Funktionen werden nicht verwendet, um das Debuggen zu erleichtern
Funktion repeatImpl(){
      var handle,
​​​​​​ _arguments = Argumente,
             i = 0;
         handle = setInterval(function(){
             i = i 1;
//Brech den Timer ab, wenn die angegebene Anzahl erreicht ist
                if(i === times){
Clearinterval (Handle);
                  zurück;
            }
                func.apply(null, _arguments);
},warte);
}
Geben Sie „repeatImpl;
“ zurück }
//Testfall
var wiederholenFun = wiederholen(alert, 4, 3000);
wiederholenFun("hellworld");
/**
*Die zweite Frage
* @returns {string}
​*/
Funktion stringconcat(){
var result = [];
Stringconcat.merge.call(null, result, arguments);
Rückgabe result.join(" ");
}
stringconcat.prefix = function(){
var _arguments = [],
​​​​ _this = this;
_this.merge.call(null, _arguments, arguments);
Rückgabefunktion(){
        var _args = _arguments.slice(0);
​​​​ _this.merge.call(null, _args, arguments);
          return _this.apply(null, _args);
};
};
stringconcat.merge = function(array, arrayLike){
var i = 0;
for(i = 0; i < arrayLike.length; i ){
         array.push(arrayLike[i]);
}
}
//Testfall
var result1 = stringconcat("a", "b"); //result1 = "a b"
var result3 = stringconcat("c", "d"); //result1 = "a b"
var stringconcatWithPrefix = stringconcat.prefix("hellworld");
var stringconcatWithPrefix1 = stringconcat.prefix("hellworld1");
var result2 = stringconcatWithPrefix("a", "b"); //result2 = "hellworld a b"
var result4 = stringconcatWithPrefix1("c", "d"); //result2 = "hellworld a b"
alarm(result1);
alarm(result2);
alarm(result3);
alarm(result4);
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