浅谈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 相关文章推荐
WordPress 照片lightbox效果的运用几点
Jun 22 Javascript
jquery 图片轮换效果
Jul 29 Javascript
jQuery源码分析之jQuery中的循环技巧详解
Sep 06 Javascript
jquery实现勾选复选框触发事件给input赋值
Feb 01 Javascript
jquery判断至少有一个checkbox被选中的方法
Jun 05 Javascript
jquery实现的3D旋转木马特效代码分享
Aug 25 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
May 24 Javascript
jQuery动画_动力节点节点Java学院整理
Jul 04 jQuery
JavaScript实现职责链模式概述
Jan 25 Javascript
在vue中使用echarts图表实例代码详解
Oct 22 Javascript
ant-design-vue按需加载的坑的解决
May 14 Javascript
解决elementui表格操作列自适应列宽
Dec 28 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设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
php邮件发送的两种方式
2020/04/28 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python区块及区块链的开发详解
2019/07/03 Python
django admin组件使用方法详解
2019/07/19 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
sort命令的作用和用法
2013/08/25 面试题
思想汇报范文
2013/11/04 职场文书
旅游管理毕业生自荐信
2013/11/05 职场文书
物业客服专员岗位职责
2013/11/30 职场文书
中国梦的演讲稿
2014/01/08 职场文书
幼儿教育感言
2014/02/05 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
优秀员工推荐材料
2014/12/20 职场文书
团代会邀请函
2015/02/02 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
pytorch Dropout过拟合的操作
2021/05/27 Python
Go遍历struct,map,slice的实现
2021/06/13 Golang
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python
MySQL创建定时任务
2022/01/22 MySQL