浅谈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 相关文章推荐
JavaScript小技巧 2.5 则
Sep 12 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 Javascript
基于jquery打造的百分比动态色彩条插件
Sep 19 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
JavaScript定义类的几种方式总结
Jan 06 Javascript
可自定义速度的js图片无缝滚动示例分享
Jan 20 Javascript
表单序列化与jq中的serialize使用示例
Feb 21 Javascript
Javascript核心读书有感之词法结构
Feb 01 Javascript
JavaScript实现获取远程的html到当前页面中
Mar 26 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
Apr 12 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
Jun 30 Javascript
JavaScript编写的网页小游戏,很给力
Aug 18 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
php5.2时间相差8小时
2007/01/15 PHP
php开启openssl的方法
2014/05/15 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
JavaScript事件详细讲解
2016/06/27 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
javascript实现留言板功能
2020/02/08 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
python学习之matplotlib绘制散点图实例
2017/12/09 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
django使用JWT保存用户登录信息
2020/04/22 Python
Python txt文件如何转换成字典
2020/11/03 Python
详解html5 shiv.js和respond.min.js
2018/01/24 HTML / CSS
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
意大利团购网站:Groupon意大利
2016/10/11 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
物理专业本科生自荐信
2014/01/30 职场文书
安全生产承诺书
2014/03/26 职场文书
培训班主持词
2014/03/28 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
大学学生会辞职信
2015/05/13 职场文书
环保建议书作文400字
2015/09/14 职场文书
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python