JS 仿java的get set访问器,私有成员, 伪事件

没有什么难度,主要加深对JavaScript的理解


var Student = function (name, no) { var name = name; //相当于私有属性 var no = no; this.setName = function (value) { name = value; for (var i = 0; i < this.nameModifyListeners.length; i++) { this.nameModifyListeners[i](this); } } this.getName = function () { return name; } this.setNo = function (value) { no = value; } this.getNo = function () { return no; } this.sayInfo = function () { alert(name + "," + no); }; /** * function(Student) */ this.nameModifyListeners = []; }
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head >
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="Scripts/Student.js" type="text/javascript"></script>
    <script type="text/javascript">
        var stu = new Student("LYX", "2008");
        stu.sayInfo();
        stu.nameModifyListeners.push(onNameChange);
        stu.setName("LYX2");
        function onNameChange(student) {
            alert("student info modified!! name:"+student.getName()+" no:"+student.getNo());
        }
    </script>
</head>
<body>
</body>
</html>
原文地址:https://www.cnblogs.com/yixinliu/p/2687137.html