方式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>// 通过立即执行的函数表达式创建一个私有的空间(函数作用域),在此空间的中创建的所有内容都是私有的(函数外部访问不到)// 如果你想将一些内容变成公共,你需要把他们手动地返回(暴露)到函数外部// 没有返回到外部的内容都是私有的function Person (name, age, gender) {// 私有的属性var age = age;// 公共的属性this.name = name;this.gender = gender;this.getAge = function() {return age;}}var kangbo = new Person('康博', 20, '男');var zhangkang = new Person('张康', 19, '男');console.log(kangbo.getAge())console.log(zhangkang.name)</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 Person = (function(){// 私有的属性var myage = 0;function InnerPerson (name, age, gender) {// 初始化私有属性的值myage = age;// 公共的属性this.name = name;this.gender = gender;}InnerPerson.prototype.getAge = function () {return myage;};return InnerPerson;}())var kangbo = new Person('康博', 20, '男');// var zhangkang = new Person('张康', 19, '男');console.log(kangbo.getAge())// console.log(zhangkang.name)// console.log(kangbo)// console.log(zhangkang)</script>
</body></html>

JS-面向对象-创建具有私有属性的构造函数(2种方法)相关推荐

  1. js面向对象小结(工厂模式,构造函数,原型方法,继承)

    本文转至:TJYoung 最近过了一遍尼古拉斯泽卡斯的高级程序设计第三版(红皮书)第六章:面向对象程序设计,现在把总结出来的东西和大家分享一下. 主要内容如下: 1.工厂模式 2.构造函数模式 3.原 ...

  2. JS-面向对象--创建具有私有属性的对象(2个方法)

    方法1 <!DOCTYPE html> <html lang="zh"> <head><meta charset="UTF-8& ...

  3. Java (1)写一个类,名为Animal, 该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public的访问方法。并提供两个重载的构造方法,

    Java (1)写一个类,名为Animal, 该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public的访问方法.并提供两个重载的构造方法, ...

  4. 按对象某属性排序的几种方法

    按对象某属性排序的几种方法: 第一种,可以实现边添加边排序,需要用到TreeSet. 第二种,用数组存放对象们,但是不需单独取出某属性排列好再重存,而是在原数组上用比较器重新排一次序.需要用到Arra ...

  5. springboot属性注入的四种方法

    springBoot属性注入的四种方法: 以注入jdbc数据源为例 1.首先在resources下面创建application.properties文件,并添加jdbc数据源属性 jdbc.drive ...

  6. js 把字符串转成json对象的三种方法

    js 把字符串转成json对象的三种方法 不管字符串是否含有转义字符,都能转换成 Json 对象 1, js自带的eval函数,其中需要添加小括号eval('('+str+')'); function ...

  7. 用new创建一个二维数组,有两种方法,是等价的

    //用new创建一个二维数组,有两种方法,是等价的      一:      int   (*p)[10]   =   new   int[5][10];      二:      int   **p ...

  8. VB创建超链接 打开指定网站的几种方法

    方法一:  Shell "Rundll32.exe url.dll, FileProtocolHandler  http://miaozk2006.blog.163.com", v ...

  9. js中截取字符串前几位的两种方法slice()substring()

    在Javascript使用字符串中,我们不一定需要全部的字符串,这时就需要截取字符串.本文主要介绍js中截取字符串前几位的两种方法:1.使用slice() 方法:2.使用substring() 方法. ...

最新文章

  1. 怎么高效的运用金蝶软件
  2. 如何使我的Python程序休眠50毫秒?
  3. 【揭秘】网易云视频点播加解密系统架构
  4. private static final long serialVersionUID = 1L;详解
  5. PostgreSQL入门篇学习笔记(七)
  6. php 无法加载css文件,解决ThinkPHP样式无法加载问题(CSS,JS),
  7. git clone报错:Permission denied (publickey). fatal: Could not read from remote repository...
  8. Python之常用函数小结
  9. vue教程 html表单美化 与 vue表单数据的自动搜集
  10. VS2010 SP1安装失败之”此计算机的状态不支持此安装“
  11. 基于51单片机+LD3320语音模块+SYN6288语音合成——语音识别智能分类垃圾桶
  12. AnaConda下载安装完了只有anaconda prompt问题
  13. 投资理财-基金基本术语概念整理
  14. 笔记本win10+GTX1050TI配置Tensorflow 亲测
  15. 使用ElementUi的tabs切换组件时下拉选择器出现破板情况
  16. 深圳办理cdn经营许可证_申请cdn许可证变更「深圳办理cdn经营许可证」
  17. 怎么做网站?网站用什么服务器好?
  18. Lucene 7.5.0 索引文件之liv
  19. 【游戏开发环境】Unity使用Mac电脑开发,开发环境的搭建(Mac mini M1 | VSCode | Git | 好用工具)
  20. 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】

热门文章

  1. 20165322 第二周结队编程-四则运算
  2. 5款替代微软Visio的开源免费软件(转)
  3. maven snapshot和release版本号之间的差
  4. soapUI中多个TestCase之间传递参数
  5. UVA 10891 SUM游戏 DP
  6. 文件操作(上传,下载,限制)
  7. 模型压缩+编译器优化,使AI算法在移动端性能超越专用硬件
  8. 推荐!ICDAR 2019-ArT任意形状文字识别国际竞赛!奖金丰厚
  9. 百度发起遥感图像农作物识别大赛—8.5万总奖池邀你建设“美丽乡村”
  10. v380云存储如何查询_使用 JuiceFS 在云上优化 Kylin 的存储性能