JS-面向对象--创建具有私有属性的对象(2个方法)
方法1
<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><script>// 通过立即执行的函数表达式创建一个私有的空间(函数作用域),在此空间的中创建的所有内容都是私有的(函数外部访问不到)// 除非我们手动地向函数外部返回(暴露)一些内容(公共的)// 没有返回到外部内容就是私有的var obj1 = (function () {// 私有内容var age = 19;// 公共内容return {name: '张尊娟',getAge: function () {return age;},growOlder: function () {age++;},greeting: function() {return '你好,我叫' + this.name + ',今年' + age + '岁了。'}}}());console.log(obj1.name)console.log(obj1.greeting())console.log(obj1.growOlder())console.log(obj1.getAge())</script>
</body>
</html>
方法2
<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><script>// 通过立即执行的函数表达式创建一个私有的空间(函数作用域),在此空间的中创建的所有内容都是私有的(函数外部访问不到)// 如果你想将一些内容变成公共,你需要把他们手动地返回(暴露)到函数外部// 没有返回到外部的内容都是私有的var obj1 = (function () {// 私有内容var age = 19;var name = '张尊娟';function getAge() {return age;}function growOlder() {age++;}function greeting() {return '你好,我叫' + this.name + ',今年' + age + '岁了。'}// 公共内容// return {// name: name,// getAge: getAge,// growOlder: growOlder,// greeting: greeting// };// 当属性名与属性值的名字相同时,可以简写成如下形式,这是 ES6 规范中提供的新语法。return {name,getAge,growOlder,greeting};}());console.log(obj1.name)console.log(obj1.greeting())console.log(obj1.growOlder())console.log(obj1.getAge())</script>
</body></html>
JS-面向对象--创建具有私有属性的对象(2个方法)相关推荐
- JS-面向对象-创建具有私有属性的构造函数(2种方法)
方式1 <!DOCTYPE html> <html lang="zh"><head><meta charset="UTF-8&q ...
- js进阶课程 12-9 jquery的事件对象event的方法有哪些?
js进阶课程 12-9 jquery的事件对象event的方法有哪些? 一.总结 一句话总结:三组六个,阻止默认事件一组,阻止冒泡一组,阻止冒泡和剩余事件一组. 1.事件的默认动作指什么? 比如点a标 ...
- Spring框架中集合属性为对象的注入方法
Spring框架中集合属性为对象的注入方法 前言 创建基础类 创建`Course`类 编写XML配置文件 创建测试类 执行结果 前言 在集合的属性注入中,如果注入属性为普通类型(String.int) ...
- Java (1)写一个类,名为Animal, 该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public的访问方法。并提供两个重载的构造方法,
Java (1)写一个类,名为Animal, 该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public的访问方法.并提供两个重载的构造方法, ...
- JS面向对象定义多个属性--object.defineProperties()方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python面向对象中的私有属性和私有化方法
xx: 公有变量 (公有) _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突, ...
- JS中函数的prototype属性和对象的__proto__属性
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- js面向对象小结(工厂模式,构造函数,原型方法,继承)
本文转至:TJYoung 最近过了一遍尼古拉斯泽卡斯的高级程序设计第三版(红皮书)第六章:面向对象程序设计,现在把总结出来的东西和大家分享一下. 主要内容如下: 1.工厂模式 2.构造函数模式 3.原 ...
- JavaScript中闭包实现的私有属性的getter()和setter()方法
注意: 以下的输出都在浏览器的控制台中 <!DOCTYPE html> <html> <head><meta charset="utf-8" ...
最新文章
- 是什么阻止了自动驾驶汽车上路?
- 架构设计器_MySQL:数据库结构优化、高可用架构设计、数据库索引优化
- 专为设计师而写的GitHub快速入门教程
- C/C++求职宝典21个重点笔记(常考笔试面试点)
- [问答]-ARM文档中的†和‡的含义
- AV1:为互联网提供开放、免费的视频编解码工具
- Oracle中的两种验证方式:操作系统验证和密码文件验证,通过操作系统验证的方式解决客户端登录不了数据的问题
- Mybatis源码分析之(一)搭建一个mybatis框架(写一个mybatis的Demo)
- 使用Visual Studio开发游戏——微软宣布与Unity、Unreal Engine和Cocos展开全新合作
- python错误提示库没有注册_SpringBoot实现登录注册常见问题解决方案
- GitHub 断供危机来了!权威解读程序员应对指南 | CSDN 独家
- 专访尤雨溪:先别管4.0了,Vue CLI重构了解一下
- NOI训练行动路线图
- 6.1离散时间马尔科夫链
- OpenHarmony AI图像识别开发—基于润和Hi3516开发套件
- 数据库实验报告-实验一:SQL语言
- Denoise: from image to point cloud
- 箱形图、盒须图、盒式图、箱线图
- 如何批量将图片转换为 Excel 文档
- Linux下线程池概念详解以及代码演示
热门文章
- memcached内存管理及key value长度限制
- Unit Test单元测试时如何模拟HttpContext
- Highcharts使用指南
- Javascript版的Repeater控件实现
- 除了 Tensorflow、PyTorch ,还有哪些深度学习框架值得期待?
- 百度EasyDL深度学习实战营,免费教你转型AI工程师!
- OpenMMLab的新篇章
- CV Code | 本周新出计算机视觉开源代码汇总(含实例分割、行人检测、姿态估计、神经架构搜索、超分辨率等)...
- OpenCV开发团队开源计算机视觉标注工具CVAT
- 一文带你读懂单目视觉SLAM数据关联优化