javascript实现OOP编程
1.首先通过一个函数来实现JS的单继承。使用原型方式来实现继承
(function () {
$.extend({
oop: {
extend: function (child, father) {
if (father == null) {
var father = function () { };
console.log(this);
father.prototype = this
}
child.prototype = new father();
child.base = father;
child.prototype.base = child.prototype;
}
}
});
window.oop = $.opp;
})();
该方法向子类追加base实例属性及静态实例属性,以便找到父类。
2.创建一个基类。
(function () {
oop.ui = function () {
/**
*渲染之前
*基类不开启渲染。
*/
this.renderBefor = function (self) {
return false;
}
/*
* 渲染函数
*/
this.render = function () {
if (this.renderBefor()==false) return;
if (this.element) {
this.element.wrap("<span class='oop_ui'></span>");
}
this.redered();
}
this.redered = function (self) {
}
}
oop.extend(oop.ui);
})();
3.创建一个子类。
(function () {
oop.ui.select = function ($input) {
this.element = $input
this.renderBefor = function () {
return true;
}
this.render = function () {
/**
*通过apply方法来调用基类的render方法。
*/
this.base.render.apply(this,arguments);
this.element.parent().addClass("oop-ui-select");
}
};
oop.extend(oop.ui.select, oop.ui);
})();
子类oop.ui.select的render 方法中。
调用基类的方法是this.base.render.apply(this,arguments);
apply是将base.render()方法中的this覆盖为当前子类的this(也就是指向oop.ui.select)。
javascript实现OOP编程的更多相关文章
- JavaScript的OOP编程1
首先要说的是,javascript其实是可以进行OOP编程的,其次javascript的OOP编程实现方式有多种,我写的这一种只是我测试过,可行的一种 version1 // 父类 function ...
- JavaScript的OOP编程2
我做了一个observer的设计模式实现 version1 // -------------------------------------------------- function Subject ...
- JavaScript之使用JavaScript模仿oop编程
第一, 首先,使用关键字function定义一个类 function Shape1(ax,ay) {//此时将function看成声明类的标志 ; ; var init=function () {// ...
- JavaScript的面向对象编程(OOP)(一)——类
在学习JavaScript面向对象的编程之前,需要知道,并了解面向对象的一些基本的常识.初学者中大多数都以为面向对象中,面向对象的编程是很重要和占据很大一部分精力.笔者在之前也是认为OOP是面向对象的 ...
- JavaScript寻踪OOP之路
上一集中,重点介绍了谁动了你的代码.这里先总结一下:咱们的代码从敲下来到运行出结果,经历了两个阶段:分析期与运行期.在分析期,JavaScript分析器悄悄动了我们的代码:在运行期,JavaScrip ...
- js原生设计模式——4安全的工厂方法模式之oop编程增强版
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- PHP面向对象(OOP)编程入门教程
面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就 ...
- 【PHP面向对象(OOP)编程入门教程】1.什么是面向对象?
面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成 ...
- php面向对象(OOP)编程完全教程
摘自:http://www.php-note.com/article/detail/41 面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行P ...
随机推荐
- mac install brew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ...
- Git使用基础篇(zz)
Git使用基础篇 您的评价: 收藏该经验 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体 ...
- On the internet, nobody known you are a dog !
- 谷歌开源OCR,tesseract-ocr使用笔记
官方教程地址:https://github.com/tesseract-ocr/tesseract/wiki/Compiling 测试版本为 root@9a2a063f9534:/tesseract/ ...
- java 判断对象是否是某个类的类型两种方法
第一种: instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: resul ...
- javaScript正则表达式的使用
今天看了一个正则的写法,回想一下,对于正则都忘记得差不多了,称这个时间整理一下,收集了一些以前的资料和查看了一些别人的资料,做一个小小的总结,方便自己以后查看,也希望能帮助到大家!! 欢迎指正,欢 ...
- vue中使用promise.all发送多个请求
1.创建两个promise,在promise中使用axios 2.调用Promise.all([p1,p2]).then(res=>{}).catch(err=>{})方法 代码如下: & ...
- 手机布局rem的使用(rem)
最后一堆代码是举例的全码. 一 直接<head>标签里套用以下,其他都不用 <script> document.documentElement.style.fontSize = ...
- Spring 整合 RocketMQ
1. 引入jar包 <!-- RocketMQ --> <dependency> <groupId>com.alibaba.rocketmq</groupId ...
- C# String字符串
C#(静态String类) C#中提供了比较全面的字符串处理方法,很多函数都进行了封装为我们的编程工作提供了很大的便利.System.String是最常用的字符串操作类,可以帮助开发者完成绝大部分的字 ...