zoukankan      html  css  js  c++  java
  • javaScript在私有的属性和方法

    javaScript并没有什么特别的语法来代表私人、保、或公共的属性和方法,在这一点上与

    java或其他语言是不同的。JavaScript大家是共同的所有对象:
    var myobj={
    mypop:1,
    getProp:function(){
    return this.myprop;
    }
    };
    console.log(myobj.myprop); // ‘myprop’是公有可訪问的
    console.log(myobj.getProp()); //getProp()也是公有的,可訪问的

    当使用构造函数创建对象时也相同如此。即全部的成员仍然都是公共的。

    function Gadget(){
    this.name=’iPod’;
    this.stretch =function(){
    return ‘iPad’;
    };
    }
    var toy = new Gadget();
    console.log(toy.name); //name是公有的
    console.log(toy.stretch()); //stretch()是公有的

    尽管javaScript语言中并没实用于私有成员的特殊语法,可是能够使用闭包来实现这样的

    功能。

    构造函数创建了一个闭包,而在闭包范围内部的随意变量都不会暴露给构造函数

    以外的代码。然而。这些私有变量仍然能够用于公共方法中;即定义在构造函数中。且

    作为返回对象的一个部分暴露给外部的方法。
    如以下演示样例:
    function Gadget(){

    //私有变量
    var name =’iPod’;
    //公有函数
    this.getName = function(){
    return name;
    } ;
    }
    var toy = new Gadget();
    //name是undefined的。是私有的
    console.log(toy.name);
    //公有方法訪问
    console.log(toy.getName()); //输出Ipod

    如上面样例。非常easy在Javascript实现私有性。

    须要做的仅仅是在函数中将须要保持为私有属性的数据包装起来,并确保它对函数来说是局部变量,这意味着外部函数不能訪问它

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    preprocess
    数组
    共用体
    动态内存管理函数
    C链表
    文件的定位与出错检查
    字符串读写函数
    C文件操作
    位运算
    爱好-超级IP:超级IP
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4865023.html
Copyright © 2011-2022 走看看