js构造函数的实例成员和静态成员

构造函数是一种特殊的函数,主要用来初始化对象,也就是为对象成员(属性,方法)赋初始值。
Js的构造函数中可以添加一些成员,可以在构造函数本身上添加,也可以在构造函数内部的this 上添加,这两种添加方式所添加的就是静态成员和实例成员。

1.实例成员

实例成员就是在构造函数内部添加的成员,只能由实例化的对象来访问

function Star(uname,age){this.uname = uname;this.age = age;this.sing = function(){console.log("我会唱歌");}
}
var ldh = new Star('刘德华',18);//创建实例化对象
console.log(ldh.uname);//用实例化对象ldh访问uname       正确
ldh.sing();//用实例化对象ldh访问sing()                  正确
console.log(Star.uname);//用构造函数访问uname           报错

上述,uname age sing就是实例成员,用实例化对象ldh来访问是正确的
用Star构造函数来访问是错误的

2.静态成员

静态成员就是在构造函数本身上添加的成员,只能由构造函数本身来访问

function Star(uname,age){this.uname = uname;this.age = age;this.sing = function(){console.log("我会唱歌");}
}
ldh = new Star('刘德华',18);
Star.sex = '男';//创建静态成员
console.log(Star.sex);//通过构造函数本身访问sex      正确
console.log(ldh.sex);//通过实例化对象访问            报错

上述,sex就是静态成员,用实例化对象ldh来访问是错误的
用Star构造函数来访问是错误的

js构造函数的实例成员和静态成员相关推荐

  1. JavaScript-面向对象(构造函数,实例成员,静态成员)

    面向过程和对象,面向过程重点关注过程步骤,面向对象关注点是对象,对象里面有属性和方法 构造函数 如果一个函数使用new关键字调用,这个函数就是构造函数 // new出来的对象 称为实例化对象,实例对象 ...

  2. JS中的实例成员和静态成员

    1.实例成员就是构造函数内部通过this添加的成员 实例成员只能通过实例化的对象进行访问 2.静态成员是在 构造函数本身上添加的成员 静态成员只能通过构造函数访问 不能通过对象访问 <scrip ...

  3. JavaScript模拟实现“实例成员”和“静态成员”

    在编写我们的JavaScript代码的时候,我们需要考虑代码的封装性,那么,究竟怎样的封装才是好的呢? 借助后端程序语言(这里主要是参考Java)封装性,利用JavaScript语言模拟实现,对Jav ...

  4. 构造函数的静态成员和实例成员

    如题: 以下代码执行后,result的值是什么? function Test(name) { } Test.name='Tom'; Test.prototype.name="John&quo ...

  5. 构造函数(静态成员)(实例成员)

    1.Javascript的构造函数中可以添加一些成员,可以在构造函数本身添加,也可以在构造函数的内部的this上添加,通过这两种方式添加的成员,就分别成为静态成员和实例成员.     静态成员:在构造 ...

  6. JavaScript原型、原型链图、静态成员和实例成员

    面向对象编程的好处是让能够让代码进行复用,提高代码运行速度,同时有利于代码的维护. 在面向对象中要想使代码进行复用就需要使用原型 一.什么是原型 1.prototype prototype是函数中的属 ...

  7. 作为前端,你需要了解的js构造函数和原型

    文章目录 1.1 概述 1.2 构造函数 1.3构造函数的问题 1.4 构造函数的原型 prototype 1.5 对象原型__proto__ 1.6 constructor 构造函数 1.7 构造函 ...

  8. JS高级之静态成员和实例成员

    成员 就是指属性.方法的统称 静态成员是指 由构造函数直接调用的属性.方法叫静态成员 实例成员是指 由构造函数创建出来对象才能调用的属性和方法就叫实例成员 实例化: 创建一个对象,也可以叫实例化一个对 ...

  9. js高级-静态成员和实例成员

    function Star(uname,age){this.uname = uname;this.age = age;this.sing = function(){console.log('我会唱歌' ...

最新文章

  1. Linux操作系统下文件作用
  2. RDKit:基于RECAP生成片段
  3. R语言可视化分面图、多变量分组嵌套多水平t检验、可视化多变量分组嵌套多水平分面条形图(faceting bar plot)并添加显著性水平、添加误差条
  4. 进程和线程的区别?什么时候用进程?什么时候用线程?
  5. python调用动态链接库windows_用win从python ctypes调用标准windows.dll的Segfault
  6. 华为网络技术培训笔记之常用网络工具(一)
  7. 《我们应当怎样做需求分析》阅读笔记
  8. HiHocoder 1036 : Trie图 AC自动机
  9. 漏洞防御方案_越权漏洞原理及防御方案
  10. git stash pop 冲突,git stash list 中的记录不会自动删除的解决方法
  11. 清华大学829电磁场考研资料
  12. Typora(就是个浏览器)自定义设置。附带:Typora免费版链接
  13. html鼠标悬停改变背景,html - 更改鼠标悬停行的背景颜色 - SO中文参考 - www.soinside.com...
  14. 深度学习语音识别方法概述与分析
  15. 阿里规定超过三张表禁止JOIN,为啥?
  16. SwiftUI+CoreData项目出现The operation couldn’t be completed(GenericObjCError error 0)错误的解决
  17. Oracle技巧之 desc+表名
  18. Jquery Jqprint—借助Jquery Jqprint实现网页打印功能
  19. AidLearning0.87F3安装Python3.8
  20. 支付宝推出信用租房 醉翁之意不在酒?

热门文章

  1. 国际高级护理实践的发展
  2. 医学图像视网膜血管分割综述
  3. 简历有这六个问题,分分钟被PASS
  4. 优步司机端界面大改版,不会用搓这里!
  5. Java性能压测工具及其调优
  6. c语言中除号用百分号,小学六年级数学比例应用题
  7. 16岁的菜霸和阿里巴巴的吴瀚青, 黑客程序员不平凡的一生!
  8. reaver test
  9. uglifyjs php,使用UglifyJS合并/压缩JavaScript
  10. 真实入手评测:华为mate40和三星note20u哪个好