javascript面向对象编程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript面向对象编程相关的知识,希望对你有一定的参考价值。

// javascript中实现面向对象编程
function Person(name, age) {
    // 公有属性
    this.name = name;
    this.age = age;

    // 公有方法
    // 公有方法可以访问公有属性
    Person.prototype.getName = function () {
        return this.name;
    };
    Person.prototype.getAge = function () {
        return this.age;
    };
    // 除了公有属性,公有方法还可以访问私有属性
    Person.prototype.getSexOrientation = function () {
        return sexOrientation;
    };

    // 私有属性
    var sexOrientation = ‘异性恋‘;
    // 私有方法
    // 私有方法仅能够访问私有属性(闭包),因为在私有方法中this指向的是全局对象window(不信可以打印this看一下),所以无法通过this访问到公有属性
    var setSexOrientation = function (sex) {
        sexOrientation = sex;
        // console.log(this);
    };

    // 为了测试私有方法,添加一个公有方法
    Person.prototype.admittedByBUPT = function () {
        console.log("I‘m admitted by BUPT!");
        setSexOrientation(‘同性恋‘);
    }

    // 静态属性
    Person.country = ‘Chinese‘;
    Person.setCountry = function (country) {
        this.country = country;
    };
    Person.getCountry = function () {
        return this.country;
    };
}

 

以上是关于javascript面向对象编程的主要内容,如果未能解决你的问题,请参考以下文章

javascript 仿面向对象编程实例代码(私有,公共变量。。。)

JavaScript对象原型链继承闭包

JavaScript对象原型链继承和闭包

javascript: 基于原型的面向对象编程

《JavaScript函数式编程思想》——从面向对象到函数式编程

面向面试编程代码片段之GC