Rumah  >  Artikel  >  hujung hadapan web  >  Soalan temuduga JavaScript Xiaomi_kemahiran javascript

Soalan temuduga JavaScript Xiaomi_kemahiran javascript

WBOY
WBOYasal
2016-05-16 16:23:411799semak imbas

Soalan temu bual

1

Salin kod Kod adalah seperti berikut:
Sila tentukan fungsi sedemikian
fungsi berulang (func, times, wait) {
}
Fungsi ini boleh mengembalikan fungsi baru, contohnya, gunakan
seperti ini var repeatedFun = ulangi(makluman, 10, 5000)
Panggil repeatedFun ("dunia neraka")
ini Akan memaklumkan helloworld sepuluh kali, dengan selang 5 saat setiap kali

2


Tulis fungsi stringconcat, yang memerlukan
var result1 = stringconcat("a", "b") result1 = "a b"
var stringconcatWithPrefix = stringconcat.prefix("hellworld");
var result2 = stringconcatWithPrefix("a", "b") result2 = "hellworld a b"


Penyelesaian snek

Kedua-dua soalan ini adalah mengenai penutupan Tanpa berlengah lagi, mari terus ke kod.

/**
*Soalan pertama
* @param func
* @param times
* @param tunggu
* @returns {repeatImpl}
,*/
fungsi berulang (func, times, wait) {
//Fungsi tanpa nama tidak digunakan untuk memudahkan penyahpepijatan
Fungsi repeatImpl(){
      pemegang var,
​​​​ _arguments = hujah,
             i = 0;
         pemegang = setInterval(function(){
              i = i 1;
//Batalkan pemasa apabila bilangan kali yang ditentukan dicapai
                 jika(i === kali){
Clearinterval (pemegang);                   kembali;
            }
                func.apply(null, _arguments);
},tunggu);
}
Kembalikan repeatImpl;
}
//Kes ujian
var repeatFun = ulangi(makluman, 4, 3000);
repeatFun("dunia neraka");
/**
*Soalan kedua
* @kembali {rentetan}
,*/
fungsi stringconcat(){
hasil var = [];
Stringconcat.merge.call(null, result, arguments);
Kembalikan hasil.join(" ");
}
stringconcat.prefix = function(){
var _arguments = [],
​​ _ini = ini;
_this.merge.call(null, _arguments, arguments);
Kembalikan fungsi(){
        var _args = _arguments.slice(0);
​​ _this.merge.call(null, _args, arguments);
          return _this.apply(null, _args);
};
};
stringconcat.merge = function(array, arrayLike){
var i = 0;
untuk(i = 0; i < arrayLike.length; i ){
         array.push(arrayLike[i]);
}
}
//Kes ujian
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"
makluman(hasil1);
makluman(hasil2);
makluman(hasil3);
makluman(hasil4);


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn