访问内部变量

<script>
  function test() {
    var obj = this;
    obj.pub1 = “pub1”; // 公有变量

    var pri1 = “pri1”; // 私有变量(类内部访问,相当于private修饰)
    this.getPri1 = function() { // 实现一个方法使外部能访问到私有变量
      return pri1;
    }
  }

  var service = new test();
  console.log(service.pub1); // pub1
  console.log(service.pri1); // undefined(无法访问到私有变量)
  console.log(service.getPri1()); //pri1
</script>

打印如下:

pub1
undefined
pri1

时间: 2024-12-10 13:15:13

访问内部变量的相关文章

在对象内部尽量直接访问实例变量 --Effictive Objective-C 抄书

在对象之外访问实例变量时,应该总是通过属性来做.在那么在对象内部访问实例变量的时候,又该如何呢? 这是 OCer们一直激烈讨论的问题.有人认为,无论什么情况,都应该通过属性来访问实例变量;也有人说,"通过属性访问"和"直接访问"应该搭配着用. 除了几种特殊情况之外, 笔者强烈建议大家在读取实例变量的时候采用直接访问的形式,而在设置实例变量的时候通过属性来做. 请看下面的类: @interface EOCPerson : NSObject @property(nona

nginx实操(3)内部变量说明

nginx内置变量说明 1.内部变量说明 内置变量存放在  ngx_http_core_module 模块中,变量的命名方式和apache 服务器变量是一致的.总而言之,这些变量代表着客户端请求头的内容,例如$http_user_agent, $http_cookie, 等等.下面是2.nginx支持的所有内置变量: nginx内置变量 $arg_name 请求中的的参数名,即"?"后面的arg_name=arg_value形式的arg_name $args 请求中的参数值 $bina

属性存取、直接访问实例变量

属性的读取采用点语法,访问对应的set和get方法.而直接访问是直接访问的对象实例的内存.这两者有什么区别?在什么情况应该使用哪种方法呢? 一.区别 直接访问实例变量有如下几种特质. 1.不经过Objective-C的方法派发,直接访问实例变量的内存,速度快. 2.由于没调用set方法,所以绕过了属性定义时声明的"内存管理语义",只会保留新值,释放旧值. 3.不会触发"键值观测"KVO机制. 4.无法通过给set和get打断点来进行调试. 二.使用场景 通用情况:

局域网如何使用公网地址访问内部服务

局域网如何使用公网地址访问内部服务,布布扣,bubuko.com

Java如何访问private变量

大家都知道private变量是无法访问的,一编译就报错根本无法访问啊.本文教你如何破解这种限制. 实现的原理是利用了Java的反射机制. 首先定义一个最简单的类,只有一个私有变量和一个公开的方法.代码如下: class Foo { private String message = "This is a Foo."; public void show() { System.out.println(message); } } 正常情况下调用show函数会输出“This is a Foo.”

KVC-键值编码是一种间接地访问实例变量的方式

KVC 键值编码是一种间接的访问实例变量的方式[对象 setValue:@"A" forKey:@"name"]; 工作原理:    1.先查找该类有没有对应的setName: setter方法.如果有则调用setter方法给实例变量赋值,如果没有,转到第二步:    2.在查找带下划线的实例变量_name.如果有则给_name赋值,如果没有则转到第三步    3.最后查找和key值相同的实例变量name,如果有,则给name赋值,如果没有,转到第四步    4.调

访问属性和访问实例变量的区别

1.由于不经过Objective-C的“方法派发”(method dispatch)步骤,所以直接访问实例变量的速度会比较快.在这种情况下,编译器所生成的代码会直接访问保存对象实例的那块内存: 2.直接访问实例变量时,不会调用其“设置方法”,这就绕过了为设置相关属性所定义的“内存管理语义”: 3.如果直接访问实例变量,那么不会触发“键值观察”(key-Value Observing,KVO)通知.这样做是否会产生问题,还取决于具体的对象行为. 因此合理的折中方案是:在写入实例变量时,通过其“设置

内网PC通过NAT server公网地址访问内部服务器时TCP三次握手不成功

公网地址访问内部服务器时TCP三次握手不成功   一.  背景 在上图所示的网络中,PC 及Server属不同LAN,都是zone trust.为了让Internet用户能够访问到Server,FW上部署了NatServer:nat server global A.B.C.D inside 192.168.51.M也就是将公网地址A.B.C.D映射到192.168.51.M.完成上述配置后,Internet用户能够通过A.B.C.D这个公网IP访问Server.但是内网的PC在访问Server的

Bash内部变量

Bash内部变量 有些内部命令在目录列表时是看不见的,他们有Shell本身提供,常见的内部命令:echo,eval,execexport,readonly,read,shift ,wait,exit和点(.) echo 变量名表 将变量名表指定的变量显示到标准输出 Evalargs 读入参数args ,并将他们组合成一个新的命令,然后执行 Exec命令参数 当Shell执行到exec语句时,不会去创建新的子进程,而是转去执行新的命令,当指定的命令执行完时,该进程(也就是当初的Shell)就终止了