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实现私有性。

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

$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('

    ').addClass('pre-numbering').hide();
    $(this).addClass('has-numbering').parent().append($numbering);
    for (i = 1; i ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

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

javaScript在私有的属性和方法的更多相关文章

  1. JavaScript 公有 私有 静态属性和方法

    1.公有属性和公有方法 这里的 name  age  都是参数传递进去 可以在外面直接实例化调用. 2.私有属性和方法 私有的只能在函数内部使用 作用域的原因 3.静态属性和静态方法 这里我首先 创建 ...

  2. Javascript常用对象的属性和方法

    javascript为我们提供了一些非常有用的常用内部对象和方法.用户不需要用脚本来实现这些功能.这正是基于对象编程的真正目的. 在javascript提供了string(字符串).math(数值计算 ...

  3. JavaScript 节点操作Dom属性和方法(转)

    JavaScript 节点操作Dom属性和方法   一些常用的dom属性和方法,列出来作为手册用. 属性:   1.Attributes 存储节点的属性列表(只读)   2.childNodes 存储 ...

  4. 【JavaScript】浅析JavaScript对象如何添加属性和方法

    向JavaScript类中添加属性和方法,最直观的做法就是在类中定义属性和方法.JavaScript是一门弱语言,除了直接定义还可以用prototype来添加. 下面介绍从外部向JavaScript添 ...

  5. JavaScript中Number常用属性和方法

    title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...

  6. javascript数组的实例属性(方法)

    javascript的所有数组实例对象,除了可以给自己增删属性之外:都会从Array.prototype继承属性(方法).修改Array的原型会影响所有的数组实例. 数组实例的属性: Array.pr ...

  7. JavaScript访问对象的属性和方法

    对象的属性和方法统称为对象的成员. 访问对象的属性 在JavaScript中,可以使用“ . ”和“ [ ] ”来访问对象的属性. 二者区别:“ . ”表示法一般作为静态对象使用时来存取属性.而“[ ...

  8. java利用反射访问类的私有(private)属性及方法

    Java语言中,在一个类中,为了不让外界访问到有的属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的 ...

  9. javascript - 所有的视图属性和方法(offsetHeight、clientHeight、scrollHeight、innerHeight等)

    注意:本文只简单的介绍了各个视图的属性和方法.如果想要知道兼容性或者更多,请至文章底部参考链接处. 本文内容分为五大部分: Window视图属性 innerHeight 和 innerWidth ou ...

随机推荐

  1. C#中的关键字

    abstract event new struct as explicit null switch base extern object this bool false operator throw ...

  2. 完全合并C++面试题

    C++面试题 1.是不是父母写了virtual 功能,假设子类重写它的功能不virtual ,也使多态性? virtual修饰符隐形遗传. private 还集成.问权限而已 virtual可加可不加 ...

  3. cidaemon.exe过程cpu入住率和关闭cidaemon.exe加工方法

    问题叙述性说明:   这个时间机器始终是一个奇怪的问题:cidaemon.exe这个过程需要CUP率98%以上,大大影响了正常使用电脑.多个资源管理器出现cidaemon.exe过程,cpu率最高的一 ...

  4. singleton pattern

    1 normal mode class Singleton { private Singleton(){}; Singleton singleton; static Singleton getInst ...

  5. projecteuler---->problem=14----Longest Collatz sequence

    title: The following iterative sequence is defined for the set of positive integers: n n/2 (n is eve ...

  6. 查看linux系统版本号命令

    一.查看内核版本号命令: 1) [root@SOR_SYS ~]# cat /proc/version Linux version 2.6.18-238.el5 (mockbuild@x86-012. ...

  7. Kafka设计

    [Apache Kafka]Kafka设计   在开始开发producer和consumer之前,先从设计的角度看一看Kafka. 由于重度依赖JMS,且实现方式各异.对可伸缩架构的支持不够,Link ...

  8. [LeetCode62]Unique Paths

    题目: A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). ...

  9. dev layoutControl 控件使用

    对于排版控件,用微软的方法都是先拉 label再拉一个 Textbox  ,  虽然微软的控件了有类似于 EXCEL的单元格全并功能,但用起来使终不方便, 今天研究了一下 DEV 的这个控件,比微软的 ...

  10. java通讯录

    )设一个通信录由以下几项数据信息构成: 数据项               类型 姓名                  字符串 地址                  字符串 邮政编码        ...