Rumah > hujung hadapan web > tutorial js > Penjelasan terperinci tentang mencipta kaedah istimewa dalam kemahiran js private scope_javascript

Penjelasan terperinci tentang mencipta kaedah istimewa dalam kemahiran js private scope_javascript

WBOY
Lepaskan: 2016-05-16 15:18:33
asal
1396 orang telah melayarinya

Contoh dalam artikel ini berkongsi kaedah mencipta keistimewaan dalam skop peribadi js untuk rujukan anda Kandungan khusus adalah seperti berikut

Kaedah istimewa ialah kaedah awam yang mempunyai akses kepada pembolehubah peribadi dan fungsi peribadi:

function MyObject(){
  var privateVariable = 10;
  function privateFunction(){
    return false;
  }
  this.publicMethod = function(){
    privateVariable ++;
    return privateFunction();
  };
}  
var x = new MyObject();
console.log(x.publicMethod()) ;//false
Salin selepas log masuk

Pembolehubah dan fungsi peribadi ditakrifkan dalam skop peribadi, dan kaedah istimewa juga boleh dibuat, seperti:

(function(){
  var privateValue = 10;
  function privateFunction(){
    return false;
  }
  
  MyObject = function(){}; //没有var 属于全局变量,严格模式下会报错
  
  MyObject.prototype.publicMethod = function(){
    privateValue ++;
    return privateFunction();
  };
})();

var instance = new MyObject();
console.log(instance.publicMethod());

Salin selepas log masuk

Di sini anda boleh melihat bahawa fungsi pembina global sebenarnya ditakrifkan dalam skop persendirian; salah satu kaedah adalah untuk mengembalikan pembolehubah dan atribut persendirian dalam skop persendirian. Anda boleh memahaminya dengan lebih baik dengan menulisnya seperti ini:

Obj = function(){};

(function(){
  var x = 10;
  function y(){
    return x + 10;
  }

  Obj.prototype.say = function(){
    console.log(y());
  };
})()

var ins = new Obj();
ins.say();
Salin selepas log masuk

Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.

Label berkaitan:
js
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