美文网首页
前端笔记六(js面向对象的公有属性与私有属性)

前端笔记六(js面向对象的公有属性与私有属性)

作者: 沐雨芝录 | 来源:发表于2019-03-14 11:33 被阅读0次

    定义:

    公有属性:是指在对象外可以访问到对象内的某个属性。
    私有属性:只在函数内部可以访问,外部强行访问则会报错。

    公共属性方法:

    function Public(name, age) {
        this.name = name
        this.age = age
    }
    Public.prototype = ({
        who: function () {
            console.log(this.name)
        },
        old: function () {
            console.log(this.age)
        }
    })
    var Public = new Public('小雨', 30);
    Public.who() // 小雨
    Public.old() // 30
    

    私有属性和方法:

    function Private(name, age) {
        var name = name
        var age = age
        var who = function () {
            console.log(name)
        }
        var old = function () {
            console.log(age)
        }
        this.init = function () {
            who()
            old()
        }
    }
     
    var Private = new Private('小雨', 30)
    Private.init()  // 小雨  30
    Private.who() // TypeError: Private.who is not a function
    Private.old()
    

    通过this或者prototype暴露的方法就是共用属性方法,比如var定义在内部的方法就算私有属性方法

    相关文章

      网友评论

          本文标题:前端笔记六(js面向对象的公有属性与私有属性)

          本文链接:https://www.haomeiwen.com/subject/ypkqmqtx.html