Rumah > hujung hadapan web > tutorial js > Senario aplikasi panggilan digunakan dalam kemahiran javascript_javascript

Senario aplikasi panggilan digunakan dalam kemahiran javascript_javascript

WBOY
Lepaskan: 2016-05-16 16:03:43
asal
1124 orang telah melayarinya

Kami sering melihat sesuatu seperti callback.call(xxx,xxx) dalam sesetengah pemalam jQuery Walaupun saya membaca dalam buku bahawa fungsi panggilan dan guna boleh menukar skop, saya masih tidak dapat memahami sepenuhnya tujuan utama. mengubah skop Apakah masalah yang diselesaikan, adakah terdapat sebarang alternatif, atau apakah masalah yang dimaksudkan untuk diselesaikan oleh kedua-dua fungsi ini, senario aplikasi, dan bilakah masa yang paling sesuai untuk menggunakannya setiap kali saya membaca kod seperti ini? pening dan melompat keluar dari bacaan linear Rasanya agak berbelit

Fungsi panggilan dan terapkan sangat mudah, iaitu mengubah konteks Terlalu banyak senario yang boleh digunakan Walaupun kadangkala ia hanya untuk "kecantikan", berikut adalah yang biasa saya gunakan.

1.

Salin kod Kod adalah seperti berikut:
Object.prototype.toString.call(Obj)

Digunakan untuk menentukan jenis Obj

Walaupun hujah serupa dengan Array, mereka tidak mempunyai kaedah tolak Array. Apa yang perlu saya lakukan?
Array.prototype.push.call(argumen)

3.Javascript tidak mempunyai konsep kaedah persendirian, jadi saya ingin menggunakan penutupan untuk melaksanakannya

(function () {
  var Person = function () {
    this.doSomeThing = function () {
      _privateFunction.call(this);
    }
  }

  var _privateFunction = function () {

  }

  window.Person = Person;

}).call(window);

Salin selepas log masuk

Begitulah maksudnya Apabila membuat panggilan balik, apabila anda mahu konteks dalam panggilan balik anda menjadi konteks semasa, anda juga boleh menggunakan panggilan atau gunakan.

Pada masa ini, ini dalam panggilan balik anda merujuk kepada konteks semasa. Contohnya, Orang kelas, dan kaedahnya mengatakan mempunyai parameter panggil balik Jika panggilan balik ini dilaksanakan melalui kurungan biasa, maka kaedah orang lain yang dilaksanakan dalam panggilan balik ini perlu dilaksanakan menggunakan person.other, tetapi konteksnya ditukar itu, semuanya selesai dengan ini.lain~ Perbandingan kod adalah seperti berikut:

var Person = function(){

};

Person.prototype.say = function(callback){
  callback();
};

Person.prototype.other = function(){

};

var vincent = new Person();

vincent.say(function(){
  vincent.other();
});

Salin selepas log masuk

Panggilan terpakai:

var Person = function(){

};

Person.prototype.say = function(callback){
  callback.call(this);
};

Person.prototype.other = function(){

};

var vincent = new Person();

vincent.say(function(){
  this.other();
});
Salin selepas log masuk

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan