어떻게 보호 된 변수를 선언합니까? 나 여기 예를 들어 그 또한 자동차 클래스에 존재 ic.variabl 나는이 액세스 할 수있는 변수를하고 싶은이의자바 스크립트에서 보호 된 변수 선언
// Constructor
function Car(){
// Private Variable
var model;
}
// Public variable
Car.prototype.price = "5 Lakhs";
// Subtype
function Indiancar(){
}
// Prototype chaining
Indiancar.prototype = new Car();
// Instantiating Superclass object
var c = new Car();
// Instantiating subclass object
var ic = new Indiancar();
을 드리겠습니다.
var Base = function()
{
var somePrivateVariable = 'Hello World';
this.GetVariable = function()
{
return somePrivateVariable;
};
this.SetVariable = function(newText)
{
somePrivateVariable = newText;
};
};
var Derived = function()
{
};
Derived.prototype = new Base();
var instance = new Derived();
alert(instance.GetVariable());
instance.SetVariable('SomethingElse');
alert(instance.GetVariable());
내가 제대로 질문을 이해 가정 :
자바 스크립트에는 공개, 비공개 또는 보호 된 변수와 같은 것이 없습니다. Java 또는 C#과 같은 JavaScript 작성을 중지하십시오. –
그건 완전히 사실이 아닙니다. 클로저를 통해 '보호 된'변수에 대한 접근 자 및 설정자를 직접 노출하지 않고 만들 수 있습니다. – Tejs
@Tejs : 예, 그렇다고해서 JavaScript가 속성 가시성이라는 개념을 변경하지 않았습니다. 당신이 묘사 한 것은 "해킹"입니다. 비슷한 것을 달성하기. 그러나 실제로 이것은 다른 문제를 소개합니다 ... –