JavaScript利用构造函数和原型的方式模拟C#类的功能

复制代码 代码如下:

       //构造函数
        function person(name, age) {
            this.name = name;
            this.age = age;
        }
        //定义person原型,原型里的属性可以被自定义对象引用
        person.prototype = {
            getName: function () {
                return this.name;
            },
            getAge: function () {
                return this.age;
            }
        }

复制代码 代码如下:

这就需要引入另外一个概念 - 原型(prototype),我们可以简单的把prototype看做是一个模版,新创建的自定义对象都是这个模版(prototype)的一个拷贝 (实际上不是拷贝而是链接,只不过这种链接是不可见,给人们的感觉好像是拷贝)。
JavaScript通过构造函数和原型的方式模拟实现了类的功能。
       window.onload = function () {
            person.prototype.sex = '男';
            var fmj =new person('kkk', 22);
            alert('第一次输出:'+fmj.sex);
            fmj.sex = '保密';
            alert('第二次输出:' + fmj.sex);
            delete fmj.sex;
            alert('第三次输出:' + fmj.sex);
            //在debug的控制台输出结果.
            //console.log(fmj.getAge());
            }

你可能感兴趣的:(JavaScript利用构造函数和原型的方式模拟C#类的功能)