浅谈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聚焦于第一个字段的代码
Oct 15 Javascript
php is_numberic函数造成的SQL注入漏洞
Mar 10 Javascript
node.js中的fs.utimes方法使用说明
Dec 15 Javascript
动态加载js的方法汇总
Feb 13 Javascript
基于Vue单文件组件详解
Sep 15 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
May 10 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
react使用CSS实现react动画功能示例
May 18 Javascript
vue项目在webpack2实现移动端字体自适配功能
Jun 02 Javascript
Element Notification通知的实现示例
Jul 27 Javascript
JavaScript中的宏任务和微任务详情
Nov 27 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+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
php中的常用魔术方法总结
2013/08/02 PHP
PHP使用ob_start生成html页面的方法
2014/11/07 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
IE中createElement需要注意的一个问题
2010/07/13 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
tensorflow 查看梯度方式
2020/02/04 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
python实现在线翻译
2020/06/18 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
用python实现一个简单的验证码
2020/12/09 Python
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
函授本科自我鉴定
2014/02/04 职场文书
运输服务质量承诺书
2014/03/27 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL