浅谈Javascript的静态属性和原型属性


Posted in Javascript onMay 07, 2015

文章给各位介绍Javascript的静态方法和原型方法一个例子,如果大家对于Javascript的静态方法和原型方法不了解可以和小编一起来看看。 一段代码,了解静态方法和实例方法:

<script>
    //对象构造函数
    function Atest(name){
      //私有属性,只能在对象构造函数内部使用
      var className = "Atest";
      //公有属性,在对象实例化后调用
      this.name = name;
      //对象方法
      this.hello = function(){
        alert(this.name);
        alert(this.msg());//使用原型方法扩充的方法可以在类内部使用
        alert(this.sex);//使用原型方法扩充的属性可以在类内部使用
        alert(Atest.age);//静态属性调用时格式为[对象.静态属性]
      }
    }
    //类方法 (实际是静态方法直接调用) 位置:Person类的外部 语法格式:类名称.方法名称 = function([参数...]){ 语句行; }
    Atest.Run = function(){
      alert("我是类方法 Run");
    }
 
 
    //原型方法
    Atest.prototype.msg = function(){
      alert("我的名字是:"+this.name);//如果原型方法当作静态方法直接调用时,this.name无法被调用
    }
 
    //公有静态属性 在类的外部
    Atest.age = 20;//公有静态属性不能使用 【this.属性】,只能使用 【对象.属性】 调用
 
    //原型属性,当作是类内部的属性使用【this.原型属性】,也可以当成公有静态属性使用【对象.prototype.原型属性】
    Atest.prototype.sex = "男";
 
    Atest.Run(); //类方法也是静态方法,可以直接使用 【对象.静态方法()】
    Atest.prototype.msg();//原型方法当成静态方法使用时【对象.prototype.方法()】 
    alert(Atest.prototype.sex);//原型属性当作静态属性使用时【对象.prototype.方法()】
    var a = new Atest("zhangsan");//对象方法和原型方法需要实例化对象后才可以使用
    a.hello();//对象方法必须实例化对象
    a.msg();//原型方法必须实例化对象
    alert(a.age)://错误,公有静态属性只能使用 【对象.属性】调用
 
    //ps:尽量将方法定义为原型方法,原型方法避免了每次调用构造函数时对属性或方法的构造,节省空间,创建对象快.
  </script>
Javascript 相关文章推荐
IE 下的只读 innerHTML
Aug 21 Javascript
jQuery 常见学习网站与参考书
Nov 09 Javascript
javascript抖动元素的小例子
Oct 28 Javascript
javascript遍历控件实例详细解析
Jan 10 Javascript
VUEJS实战之修复错误并且美化时间(2)
Jun 13 Javascript
JS button按钮实现submit按钮提交效果
Nov 01 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
Vue应用部署到服务器的正确方式
Jul 15 Javascript
Angular5.1新功能分享
Dec 21 Javascript
解决webpack dev-server不能匹配post请求的问题
Aug 24 Javascript
微信小程序系列之自定义顶部导航功能
May 21 Javascript
微信小程序语音同步智能识别的实现案例代码解析
May 29 Javascript
ECMAScript5(ES5)中bind方法使用小结
May 07 #Javascript
JS中获取函数调用链所有参数的方法
May 07 #Javascript
jQuery中animate动画第二次点击事件没反应
May 07 #Javascript
js实现鼠标滑过文字链接色彩变化的效果
May 06 #Javascript
JS实现文字掉落效果的方法
May 06 #Javascript
DOM 高级编程
May 06 #Javascript
js获得当前系统日期时间的方法
May 06 #Javascript
You might like
php用数组返回无限分类的列表数据的代码
2010/08/08 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
eAccelerator的安装与使用详解
2013/06/13 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
对python sklearn one-hot编码详解
2018/07/10 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
Android面试题附答案
2014/12/08 面试题
汽修专业自荐信
2014/07/07 职场文书
文员求职信
2014/07/15 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
党员转正意见怎么写
2015/06/03 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
Java8中接口的新特性使用指南
2021/11/01 Java/Android