JavaScript中的私有属性
一、使用构造函数获得私有属性:
function Gadget(){
var name = 'iPod';
this.getName = function(){
return name;
};
};
var toy = new Gadget();
console.log(toy.name);//undefined
console.log(toy.getName());//iPod
注意,当返回变量为数组或对象时,私有性失效:
function Gadget(){
var specs = {
width: 400,
height: 500
};
this.getSpecs = function(){
return specs;
};
};
var toy = new Gadget();
var specs = toy.getSpecs();
specs.color = 'black';
console.log(toy.getSpecs());//{ width: 400, height: 500, color: 'black' }
二、使用对象字面量
var myobj = (function(){
var name = 'wqh';
return {
getName: function(){
return name;
}
}
})();
console.log(myobj.name);//undefined
console.log(myobj.getName());//wqh
三、共享的私有属性:prototype中
function Gadget(){
var name = 'iPod';
this.getName = function(){
return name;
};
};
Gadget.prototype = (function(){
var browser = 'Webkit';
return {
getBrowser: function(){
return browser;
}
};
})();
var toy = new Gadget();
console.log(toy.name);//undefined
console.log(toy.getName());//iPod
console.log(toy.browser);//undefined
console.log(toy.getBrowser());//Webkit
注:JavaScript模式P94-98
JavaScript中的私有属性的更多相关文章
- 借助JavaScript中的Dom属性改变Html中Table边框的颜色
借助JavaScript中的Dom属性改变Html中Table边框的颜色 -------------------- <html> <head> <title>我是页 ...
- javascript中常用坐标属性offset、scroll、client
原文:javascript中常用坐标属性offset.scroll.client 今天在学习js的时候觉得这个问题比较容易搞混,所以自己画了一个简单的图,并且用js控制台里面输出测试了下,便于理解. ...
- javascript 中 arguments.callee属性
javascript 中 arguments.callee属性 可以在函数内部,指向的是这个函数(或者叫做“类”)本身. 相当于PHP 中的 self 关键字. The arguments.calle ...
- JavaScript中对象的属性
在JavaScript中,属性决定了一个对象的状态,本文详细的研究了它们是如何工作的. 属性类型 JavaScript中有三种不同类型的属性:命名数据属性(named data properties) ...
- class中的私有属性的访问
在类中的私有属性设置: class Name(): __init__(self): self.__name = 'arnol'` 如何查看: 1,在类中定义一个方法: def getname(self ...
- JavaScript中Number常用属性和方法
title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...
- JavaScript 中的延迟加载属性模式
传统上,开发人员在 JavaScript 类中为实例中可能需要的任何数据创建属性.对于在构造函数中随时可用的小块数据来说,这不是问题.但是,如果在实例中可用之前需要计算某些数据,您可能不想预先支付该费 ...
- Python中的私有属性私有方法、类属性类方法以及单例设计模式
私有属性是对象不希望公开的属性,私有方法是对象不希望公开的方法.在定义私有属性和私有方法时,在属性或者方法前,加上__(两个下划线) 公有方法可以通过对象名直接调用,私有方法不能通过对象名直接调用,只 ...
- javaScript 中的私有,共有,特权属性和方法
function constructor () { var private_v; // 私有属性 var private_f = function () { // 私有方法 // code }; th ...
随机推荐
- jQuery的性能优化
原文链接:http://www.colotu.com/html/gcs/6.html 现在越来越多的人应用jQuery了,有些同学在享受爽快淋漓coding时就将性能问题忽略了, 比如我. jquer ...
- android的消息提示(震动与提示音)
protected AudioManager audioManager; protected Vibrator vibrator; audioManager = (AudioManager)getSy ...
- Android中的AlertDialog使用示例五(自定义对话框)
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ...
- H5 表格标签的其它标签
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- koala预编译工具的使用
Koala是一个开源的预处理语言图形编译工具,目前已支持Less.Sass.Compass与CoffeeScript. 安装Koala 在Koala官网根据你的系统平台下载对应的版本.Linux系统要 ...
- win2003 Enterprise x64 Edtion中的DCOM服务找不到WORD应用程序
打开注册表,找到以下健值 HKEY_CLASSES_ROOT\AppID\{00020906-0000-0000-C000-000000000046} HKEY_CLASSES_ROOT\CLSID\ ...
- chrome浏览器限制的端口
1, // tcpmux 7, // echo 9, // discard 11, // systat 13, // daytime 15, // netstat 17, ...
- Oracle数据库的 增、删、改、查
有时候数据库的查询语句一时想不起来,或不确定是不是语句写的正确,现在整理了一下标准的基本查询语句,便于以后牢记: .数据操作语言 DML:添加(insert into).修改(update set ...
- Spark运行模式与Standalone模式部署
上节中简单的介绍了Spark的一些概念还有Spark生态圈的一些情况,这里主要是介绍Spark运行模式与Spark Standalone模式的部署: Spark运行模式 在Spark中存在着多种运行模 ...
- 细说 Form (表单)
细说 Form (表单) Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源. 虽然Asp.net WebForms框架为了帮助 ...