Heim >Web-Frontend >Front-End-Fragen und Antworten >Was sind öffentliche und private Methoden in Javascript?
In JavaScript beziehen sich öffentliche Methoden auf Methoden, auf die von außen zugegriffen und die sie aufgerufen werden können, während sich private Methoden auf Methoden beziehen, die im Konstruktor eines Objekts deklariert werden und für die Außenseite unsichtbar und unzugänglich sind.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
One: Öffentliche Methoden
Public -Methoden sind Methoden, auf die von außen zugegriffen und aufgerufen werden kann. Zugriff haben Interne private Eigenschaften und öffentliche Methoden privater Methoden (auf private Methoden kann zugegriffen werden, private Eigenschaftsmethoden werden als privilegierte Methoden bezeichnet und sind auch eine Art öffentliche Methode)
Private Methoden beziehen sich auf Deklarationen im Konstruktor des Objekts , die nach außen nicht sichtbar und unzugänglich sind. Verwenden Sie verschiedene Methoden, um private Methoden und privilegierte Methoden in verschiedenen Formen zu definieren.
In Objekten: Wir verwenden Objektausdrücke, um ein Objekt zu erstellen, einige Eigenschaften und Methoden hinzuzufügen und es dann direkt auf statische Weise aufzurufen. Zum Beispiel Rest.getName();
Funktion sofort ausführenDie privaten Daten des Objekts werden in einem anonymen Funktionsausdruck für sofortige Ausführung (IIFE) platziert, was bedeutet, dass diese Funktion nur in dem Moment existiert, in dem sie aufgerufen wird, und dies auch tun wird wird sofort ausgeführt, sobald es ausgeführt wird. // 对象中
var test1 = {
name:'大白',
getName:function(){
console.log(this.name);
}
}
//调用
test1.getName();//大白
// 构造函数中
function test2(name,age){
this.name = name;
this.age = age;
//公有方法
this.getName = function(){
console.log(this.name);
}
}
// 在原型中
test2.prototype.getAge = function(){
console.log(this.age);
}
//调用
var test3 = new test2('小白',12);
test3.getName();//小白
test3.getAge();//12
Dies ist dasselbe wie die vorherige Definition von Rest, es kann direkt über yourObject aufgerufen werden. Diese Art des modularen Zugriffs ist ziemlich leistungsfähig.
var yourObject = (function() { // 私有属性和方法 return { // 公有方法和属性 } }) ();
verwendet
closure, um indirekt interne private Variablen zu verwenden. Es ist sehr praktisch, private Eigenschaften und Methoden im Konstruktor zu definieren. Wir müssen keine Abschlüsse verwenden und können die Daten beim Aufruf von var test4 = (function(){
//私有属性
var total = 10;
// 私有方法
var buy = function(){
total--;
}
var get = function(){
return total;
}
return {
name:'小白白',
getTotal:get,//使用了闭包的方式来简介使用内部私有变量
buyfood:buy
}
})();
test4.buyfood();
console.log(test4.name);//小白白
console.log(test4.getTotal());//9
Mit der Konstruktormethode können Sie einige initialisierte Daten übergeben, auf private Mitgliedseigenschaften kann jedoch nicht in öffentlichen Methoden zugegriffen werden. Wenn es viele öffentliche Methoden gibt, die auf private Daten zugreifen müssen, werden wir sie alle mit schreiben privilegierte Methoden Schließlich werden viele unnötige Methoden in jede Instanz gebracht.
// 构造函数中 function test5(name) { // 私有属性 var total = 10; // 公有属性 this.name = name; // 私有方法 function _buyFood() { total--; } // 特权方法,才能访问私有的属性和私有的方法 this.buy = function() { _buyFood(); } this.getTotal = function() { return total; } } // 公有方法, 注意这里不能访问私有成员_total test5.prototype.getName = function() { //console.log(_total); // Uncaught ReferenceError: _total is not defined return this.name; } var test6 = new test5('大小白'); console.log(test6.getName()); // '大小白' test6.buy(); console.log(test6.getTotal()); // 9【Verwandte Empfehlungen:
Javascript-Lern-Tutorial】
Das obige ist der detaillierte Inhalt vonWas sind öffentliche und private Methoden in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!