浅谈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 相关文章推荐
层序遍历在ExtJs的TreePanel中的应用
Oct 16 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
Dec 13 Javascript
字段太多jquey快速清空表单内容方法
Aug 21 Javascript
node.js中的favicon.ico请求问题处理
Dec 15 Javascript
几种经典排序算法的JS实现方法
Mar 25 Javascript
jQuery绑定事件的几种实现方式
May 09 Javascript
Bootstrap CSS组件之输入框组
Dec 17 Javascript
js实现二级导航功能
Mar 03 Javascript
JS计算距当前时间的时间差实例
Dec 29 Javascript
Vue实现表格中对数据进行转换、处理的方法
Sep 06 Javascript
Vue中JS动画与Velocity.js的结合使用
Feb 13 Javascript
es6数组的flat(),flatMap()函数用法实例分析
Apr 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
强烈推荐:php.ini中文版(1)
2006/10/09 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
jQuery的三种bind/One/Live/On事件绑定使用方法
2017/02/23 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
Angular实现响应式表单
2017/08/04 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
微信小程序实现手指触摸画板
2018/07/09 Javascript
elementUI select组件value值注意事项详解
2019/05/29 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
Python实现LRU算法的2种方法
2015/06/24 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
Python实现12306火车票抢票系统
2019/07/04 Python
Python遍历字典方式就实例详解
2019/12/28 Python
Python类中self参数用法详解
2020/02/13 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
简历自我评价模版
2014/01/31 职场文书
红色故事演讲稿
2014/05/22 职场文书
团队口号大全
2014/06/06 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
法制教育主题班会
2015/08/13 职场文书
小学生教师节广播稿
2015/08/19 职场文书
六五普法学习心得体会
2016/01/21 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python