浅谈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 相关文章推荐
SUN的《AJAX与J2EE》全文译了
Feb 23 Javascript
JS实现模仿微博发布效果实例代码
Dec 16 Javascript
深入剖析JavaScript编程中的对象概念
Oct 21 Javascript
jquery实现倒计时功能
Dec 28 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
微信小程序 实战实例开发流程详细介绍
Jan 05 Javascript
JavaScript实现二分查找实例代码
Feb 22 Javascript
一个Vue页面的内存泄露分析详解
Jun 25 Javascript
详解ECMAScript typeof用法
Jul 25 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
Sep 27 Javascript
echarts统计x轴区间的数值实例代码详解
Jul 07 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
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
第九节 绑定 [9]
2006/10/09 PHP
一个图形显示IP的PHP程序代码
2007/10/19 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
phpStorm2020 注册码
2020/09/17 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
Python中字典的基本知识初步介绍
2015/05/21 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
如何用python免费看美剧
2020/08/11 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
市场营销毕业生自荐信
2013/11/23 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
教师岗位职责
2015/02/03 职场文书
美丽心灵观后感
2015/06/01 职场文书
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB