javascript private public method

function HtmlObj(precedeStr, idStr) {
    this.precedeStr = precedeStr;
    this.idStr = idStr;
    this.getTextbox = function() {
        return "<span id=\"" + this.idStr + "span\">" + this.precedeStr
                + "<br/>" + "<input type=\"text\" id=\"" + this.idStr
                + "\"/></span>";
    }
    // 私有方法
    this.getNoBrTextbox = function() {
        return "<span id=\"" + this.idStr + "span\">" + this.precedeStr
                + "<input type=\"text\" id=\"" + this.idStr + "\"/></span>";
    }
    this.getTextArea = function() {
        return "<span id=\"" + this.idStr + "span\">" + this.precedeStr
                + "<br/>" + "<textarea wrap=\"physical\" id=\"" + this.idStr
                + "\"></textarea></span>";
    }
    this.getSmallTextArea = function() {
        return "<span id=\""
                + this.idStr
                + "span\">"
                + this.precedeStr
                + "&nbsp;<textarea wrap=\"physical\"  class=\"smallTextarea\" id=\""
                + this.idStr + "\"></textarea></span>";
    }
    this.getFileText = function() {
        return "<span id=\"" + this.idStr + "span\">" + this.precedeStr
                + "<br/>" + "<input type=\"file\" id=\"" + this.idStr
                + "\"/></span>";
    }
    // ...
}
// 添加类方法
/*
 * //公共方法
 * Man.prototype.getFullName = function() { return this.getFirstName() + " " +
 * this.getLastName(); };
 */
// 添加按钮区
HtmlObj.getButtonSrc = function() {
    return "<span id=\"srcspan\">来源于&nbsp;<input type=\"text\" id=\"src\" class=\"subbtn\" />"
            + "<input alt=\"确认完成后提交\" type=\"button\" value=\"继续添加\"  id=\"go-on\" class=\"subbtn\" />"
            + "&nbsp;&nbsp;<input alt=\"确认完成后提交\" type=\"button\" value=\"完成添加\"  id=\"submit\" class=\"subbtn\" /></span>";
}
01 var Person = function(name,sex){
02        this.name = name;
03        this.sex = sex;   
04        var _privateVariable = "";//私有变量  
05        //构造器中定义的方法,即为私有方法
06        function privateMethod(){ 
07            _privateVariable = "private value";
08            alert("私有方法被调用!私有成员值:" + _privateVariable);           
09        }
10        privateMethod(); //构造器内部可以调用私有方法          
11    }
12     
13    Person.prototype.sayHello = function(){
14        alert("姓名:" + this.name + ",性别:" + this.sex);
15    }
16     
17    var p = new Person("菩提树下的杨过","男");    
18    p.sayHello();
19     
20    //p.privateMethod();//这里将报错,私成方法无法被实例调用
21    alert(p._privateVariable);//显示: undefined

///////////////////////////////////////////////////////////////////////////////////////

01    var Person = function(){  
02        var salary = 0.0;
03     
04        this.setSalary = function(value){
05            salary = value;
06        }
07     
08        this.getSalary = function(){
09            return salary;
10        }
11    }
12     
13    var p = new Person();
14     
15    p.setSalary(1000);
16    alert(p.getSalary());//返回1000
17    alert(p.salary);//返回undefined

你可能感兴趣的:(JavaScript,prototype,Go)