关于JavaScript面向对象的一个示例

关于JavaScript面向对象的一个示例

相关代码
  • extend()函数:模拟类的继承
  • 父类Common():提供addList()方法
  • 第一个子类Input():具有aaa属性,自己的init(),change(),submit()方法和继承的addList()方法
  • 第二个子类Button():具有aaa属性,自己的init(),change(),submit()方法和继承的addList()方法
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <script type="text/javascript">
        var objectList = new Array();
        //extend函数模拟面向对象的 继承
        function extend(Child, Parent){
            var F = function(){};
            F.prototype = Parent.prototype;
            Child.prototype = new F();
            Child.prototype.constructor = Child;
            Child.uber = Parent.prototype;
        }

        //父类
        var Common = function () {
        };
        Common.prototype.list = new Array();
        Common.prototype.addList = function (object) {
            objectList.push(object);
        };
    </script>
    <form>
        <input type="text" name="aaa" id="input">

        <script type="text/javascript">

            //第一个子类
            var Input = function (){
            };
            extend(Input, Common);
            Input.prototype.aaa = 'aaa';
            Input.prototype.init = function () {
                this.addList(this);
            }
            Input.prototype.change = function () {

            }
            Input.prototype.submit = function () {

            }
            var inp = new Input();
            inp.init();
        </script>


        <input type="button" name="bbb" value="Button" id="button">

        <script type="text/javascript">
            //第二个子类
            var Button = function () {
            };
            extend(Button, Common);
            Button.prototype.aaa = 'bbb';
            Button.prototype.init = function () {
                this.addList(this);
            }
            Button.prototype.change = function () {

            }
            Button.prototype.submit = function () {

            }
            var btn = new Button();
            btn.init();

            for (x in objectList) {
                alert(objectList[x].aaa);
            }
        </script>
    </form>
</body>
</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值