JavaScript 默认是没有 class 的语法,Class.js 通过不到 1K 的代码给 JavaScript 语言提供一个基本的类的结构。

创建一个类

One = {message:'',set:function(val){this.message = val;},get:function(){alert(this.message);}
};

使用创建的类

var e = new Class(One);
e.set('Hello, World!');
e.get();

构建函数

如果构建函数 construct() 存在,在实例化类的时候,就会被调用,构建函数也可以有参数。

One = {message:'',construct:function(val){this.set(val);},set:function(val){this.message = val;},get:function(){alert(this.message);}
};

用法:

var e = new Class(One,['Awesome!']);
e.get();

扩展类

通过 Extend() 函数可以扩展现有的类:

Two = Extend(One,{construct:function(val){this.set(val);}
});

用法:

var e = new Class(Two,['Quixotic!']);
e.get();

原文地址:http://fairyfish.net/m/class-js/

转载于:https://www.cnblogs.com/jRoger/articles/2654610.html

给 Javascript 加上面向对象的属性:Class.js相关推荐

  1. JavaScript的面向对象原理之原型链

    二.JavaScript的对象 为了能够清楚的解释这一切,我先从对象讲起.从其他面向对象语言(如Java)而来的人可能认为在JS里的对象也是由类来实例化出来的,并且是由属性和方法组成的. 实际上在JS ...

  2. JavaScript高级 面向对象、正则表达式

    JavaScript高级 面向对象.正则表达式 学习目标: 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式 掌握在 JavaScript 中使用正则表达式 typora-cop ...

  3. javascript 中面向对象实现 如何继承

    上一篇博客已经说了关于javascript中的封装, 其中也说了javascript中本来是没有类的,我们上一篇的封装也是用javascript中的函数去模拟一个类,最后我们还模拟了一个构造函数.那 ...

  4. JavaScript 的进阶学习 (Node.js)_01

    Node的学习 Node.js 是一个基于 Google 所开发的浏览器 Chrome V8 引擎的 JavaScript 运行环境. 属于 服务端的 JavaScript . 2019.03.01 ...

  5. 回顾javaScript的面向对象继承

    javaScript面向对象继承           由于js不像java那样是真正面向对象的语言,js是基于对象的,它没有类的概念.所以,要想实现继承,可以用js的原型prototype机制或者用a ...

  6. PHP开发者的JavaScript快速教程(phper简明js教程)

    本文提供word格式文档,下载链接: https://pan.baidu.com/s/1CcM2Dl4_rG0qe0omxPG8zQ 提取码: 9isx 前言: 每一位PHP开发者或多或少的都掌握一些 ...

  7. 三. python面向对象(私有属性和私有方法 私有静态方法 私有类方法)

    一. 私有属性(封装) # 侠义 上的封装 面向对象的三大特性之一 # 属性 和 方法都隐藏起来 不让你看到 # 如果要让内部属性不被外部属性直接访问 在属性前加上两个下划线__ # 在python中 ...

  8. JavaScript基础01【简介、js编写位置、基本语法(6种基本数据类型)】

    学习地址: 谷粒学院---尚硅谷 尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版JavaScrip ...

  9. JavaScript的面向对象特性

    JavaScript的面向对象特性   JavaScript是基于对象和事件驱动并具有安全性能的脚本:JavaScript虽然不是面向对象的编程语言但具有很多面向对象的特性. 1.面向对象开发 a)  ...

最新文章

  1. 《零基础免费学扩增子分析》视频课(含ppt及相应代码),无需转发,直接获取...
  2. linux中科大yum源,CentOS:国内常用的yum源
  3. Servlet的Filter的使用
  4. RedHat的yum源修改为CentOS的yum源
  5. java 异步socket_java Socket读写异步分离
  6. Linux视频 pad,Wine 1.9.10 发布下载, 改善视频输出
  7. Redis事务及持久化
  8. 【操作系统/OS笔记13】信号量、PV操作、管程、条件变量、生产者消费者问题
  9. 使用GDAL构造OpenCV的图像格式
  10. 强悍的 Vim —— .vimrc(vim 配置文件)
  11. python列表删除行_Python DataFrame – 删除具有属于值列表的列值的行
  12. ARCGIS空间自相关技术的实现
  13. 80286计算机配置,电脑的各种配置给详的细解释.doc
  14. tomcat下载指定版本
  15. 【时间序列】Holt-Winters 指数平滑方法及其 Python 实践
  16. 如何用计算机装B,计算机专业装逼经验(转)
  17. electron 开发程序禁用gpu渲染
  18. 2021年中国内地城市地铁客流量排行榜:北上广深日均客运量超500万人次,深圳客流强度最大(附年榜TOP43详单)
  19. 短视频-精神鸦片禁忌,2023flag
  20. Android 主题切换/换肤方案 研究(四) - qq和qq空间

热门文章

  1. 【正一专栏】梅西、内马尔分开明天会更好
  2. Java实现算法导论中Rabin-Karp字符串匹配算法
  3. Linux操作系统Ubuntu部署GCC之Libpcap库篇
  4. 注册表修改之USB口启用
  5. 关闭Windows不必要服务,电脑更安全
  6. vue-router的两种模式(hash和history)及区别
  7. Set Up a Simple Knowledge Base
  8. useGeneratedKeys的详解
  9. 扩展springmvc组件——当页面跳转时,需要在Controller里面创建一个空方法去跳转或者是创建一个配置类  ||日期格式化说明||自定义格式化器||消息转化器扩展fastjson
  10. Vue前后台数据交互实例演示,使用axios传递json字符串、数组