浅谈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 相关文章推荐
ext 同步和异步示例代码
Sep 18 Javascript
JS与框架页的操作代码
Jan 17 Javascript
Jquery动态改变图片IMG的src地址示例
Jun 25 Javascript
js中通过split函数分割字符串成数组小例子
Sep 21 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
JavaScript仿微博发布信息案例
Nov 16 Javascript
Angular中$state.go页面跳转并传递参数的方法
May 09 Javascript
Angular.js指令学习中一些重要属性的用法教程
May 24 Javascript
js is_valid_filename验证文件名的函数
Jul 19 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
May 01 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网站地图生成类示例
2014/01/13 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
event.srcElement+表格应用
2006/08/29 Javascript
javascript编程起步(第七课)
2007/02/27 Javascript
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
基于prototype扩展的JavaScript常用函数库
2010/11/30 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
python3使用urllib模块制作网络爬虫
2016/04/08 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
python 系统调用的实例详解
2017/07/11 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
深入浅析Python的类
2018/06/22 Python
python字符串判断密码强弱
2020/03/18 Python
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
个人整改措施落实情况汇报
2014/10/29 职场文书
先进党支部事迹材料
2014/12/24 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
合同范本之电脑出租
2019/08/13 职场文书
Python实现简繁体转换
2021/06/07 Python