[整理]创建JavaScript对象用闭包的方式保证内部数据不能外部所访问
来源:互联网 发布:阿里云是邮箱吗 编辑:程序博客网 时间:2024/06/05 10:18
/** * JavaScript开发规范如下: * 对象定义首字母大写,第二个及后面的单词的首字母大写。 如:Book * 方法定义首字母小写,第二个及后面的单词的首字母大写。如。getName、getBookName * 数组类型的变量定义在变量名后紧跟“Arr”字符串。如:functionArr 方法数组 */ /** 开发JS对象的步骤 * 第一步:定义构造函数和prototype的方法 * 第二步:验证构造器和prototype中的方法传递参数的据完整性(已定义、参数类型、字符串个数、数组个数)。 * 如除了必传参数名其它的参数为空或未定义建议赋于一个默认值 * 第三步:对内部数据进行保护 * * * */ // 下面这个Book对象是门户大开型对象也就是传统的JavaScript创建一个类的方式 var Book = function( isbn, author, price ) { var isbn, author, price; function checkIsbn(isbn) { if ( isbn === undefined || typeof isbn !== "string") { return false; } if ( isbn.length === 0 ) { return false; } return true; } /** * 需要访问这些变量和函数的方法需声明在Book中即可,这些方法被称为特权方法,因为他们是公用方法,但却能方法私有属性和方法。 * 任何不需要直接访问私有属性的方法都可以在Book.prototype中声明.如display方法; */ this.setIsbn = function ( isbn ) { if ( !checkIsbn(isbn) ) throw new Error("Boook constructor requires an isbn"); isbn = isbn; } this.getIsbn = function () { return isbn; } this.setAuthor = function ( author ) { author = author || ""; } this.getAuthor = function () { return author; } this.setPrice = function( price ) { price = price || ""; } this.getPrice = function () { return price; } this.setIsbn( isbn ); this.setAuthor( author ); this.setPrice( price ); } /** * 下面的Book.prototype有二个方法被设为一个对象字面量,优点:这样定义多个方法的时候就不用为每个方法前面加一个Book.prototype了. * */ Book.prototype = { // display : function() { } } var book = new Book("");
0 0
- [整理]创建JavaScript对象用闭包的方式保证内部数据不能外部所访问
- JavaScript使用原型方式创建对象所带来的问题
- JavaScript创建对象的内部机制
- JavaScript 创建对象的方式
- JavaScript对象的创建方式
- JavaScript创建对象的方式
- JavaScript创建对象的方式
- JavaScript创建对象的方式
- JavaScript对象的创建方式
- javascript创建对象的方式
- JavaScript创建对象的方式
- Android的数据存储方式---内部存储与外部存储
- 多个线程访问共享对象和数据的方式-笔记整理5
- 不能被外部类所访问的修饰符有哪些
- JavaScript中对象的创建及访问
- JavaScript对象的创建和属性访问
- java中内部类的创建四种情况,三种方式,及内部数据访问权限
- javascript对象创建方式
- 数据结构 《5》----二叉搜索树 ( Binary Search Tree )
- 使用jqMobi开发app基础:HTML5 LocalStorage 本地存储
- SetWindowsHookEx为某个进程安装钩子
- <textarea>里的内容保存MYSQL后,页面输出不换行的解决方法
- 利用sscanf()匹配字符串需要注意贪婪匹配
- [整理]创建JavaScript对象用闭包的方式保证内部数据不能外部所访问
- Angular-$http请求后台php接收方法
- 计数排序
- 以字符进行截断,免得出现半个字符
- 基于AOP实现权限管理:通过shiro认证身份和模拟授权认证
- 平时问题汇总(持续更新)
- Leetcode: Letter Combinations of a Phone Number
- C# filter 筛选器
- 编译适用于TP-Link WR703N的OpenWRT固件