`
sakakokiya
  • 浏览: 507422 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

举例说明Javascript如何实现面向对象?

阅读更多
类:
function DelegateObject(){
var obj = new Object();
类:
function DelegateObject(){
var obj = new Object();
obj.value = “”;
obj.FormatString = null;
obj.toString = function _toString(){
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
var obj = new DelegateObject();
委托:
function DelegateObject(){
var obj = new Object();
obj.value = “”;
obj.FormatString = null;
obj.toString = function _toString(){
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
function ConvertToString(value){
return “Result:” + value;
}
var obj = new DelegateObject();
obj.Value = “Hello World!”;
obj.FormatString = ConvertToString;
document.write(obj.toString());
重写:
function DelegateObject(){
var obj = new Object();
obj.toString = function _toString(){
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
继承:
function DelegateObject(){
var obj = new Object();
obj.value = “”;
obj.FormatString = null;
obj.toString = function _toString(){
if(obj.FormatString != null)
return this.FormatString(this.Value);
else
return this.Value;
}
return obj;
}
function Class2(){
var obj = new DelegateObject();
return obj;
}
function ConvertTOString(value){
return “Result:” + value;
}
var obj = new Class2();
obj.Value = “Hello World!”;
obj.FormatString = ConvertTOString;
document.write(obj.toString());
事件:
function EventHandler(){
var eventobj = new Object();
eventobj._eventHandler = null;
eventobj.Activate = function _activate(){
if(eventobj._eventHandler != null)
eventobj._eventHandler();
}
eventobj.Add = function _add(eventHandler){
eventobj._eventHandler = EventHandler;
}
eventobj.Remove = function _remove(){
eventobj._eventHandler = null;
}
return eventobj;
}
function mouseClick(){
alert(”Hello World!”);
}
var obj = new EventHandler();
obj.Add(mouseClick());
obj.Activate();
枚举:
function _StatusList(){
var object = new Object();
object.正常= “Normal”;
object.删除= “Delete”;
object.审核通过= “Auditing”;
object.驳回 = “OverRule”;
return object;
}
Object.prototype.StatusList = new _StatusList();
function TObject(){
var obj = new Object();
obj.Type = “YiZhu”;
obj.Status = Object.StatusList.审核通过;
}
alert(obj.Status);
分享到:
评论

相关推荐

    javascript面向对象编程pdf

    总结来说,JavaScript面向对象编程涵盖了从基本原理到实现细节的多个方面,包括但不限于对象、构造函数、原型链、继承以及封装等。本书系统地介绍了这些知识点,并通过实例演示了如何在现代JavaScript中实现OOP,...

    JAVASCRIPT面向对象编程探析.PDF

    通过JavaScript程序代码实例,探析如何在网站开发中使用JavaScript对象进行编程,JavaScript的对象有两种一种可被称为 ...己在实际项目中使用的几种JavaScript对象编程方法在文章中进行了举例说明。

    浅谈javascript 面向对象编程

    标题中提到的是“浅谈javascript 面向对象编程”,这意味着本文将探讨JavaScript中的面向对象编程(OOP)概念。面向对象编程是一种编程范式,它使用“对象”来设计软件程序。对象可以包含数据和代码,数据通常被称为...

    举例说明JavaScript中的实例对象与原型对象

    JavaScript中实例对象与原型对象是面向对象编程的重要概念,它们之间通过构造函数和原型链相互联系。在JavaScript中,每一个对象都有一个constructor属性,它指向创建该实例的构造函数。同时,每个函数都有一个...

    浅谈JavaScript中面向对象的的深拷贝和浅拷贝

    在JavaScript中,面向对象编程涉及到了许多核心概念,其中之一就是对象的拷贝。本文将深入探讨两种主要的拷贝方式:深拷贝和浅拷贝。理解这两种拷贝方式对于编写高效、健壮的代码至关重要。 首先,我们需要了解...

    js定义类 对象 构造函数,类的继承

    总结一下,JavaScript的类、对象和构造函数是实现面向对象编程的关键元素。类提供了创建对象的模板,对象是数据和行为的载体,而构造函数则是创建和初始化对象的工具。通过类的继承,我们可以复用代码,构建更复杂的...

    自学JavaScript珍藏版实用课件

    JavaScript是一种面向对象的语言,但它的面向对象特性不同于传统的类为基础的面向对象语言,如Java或C++。在JavaScript中,对象是由键值对组成的,这些键值对可以包含数据(属性)和行为(方法)。你可以直接创建和...

    前端JS基础知识点及常考面试题汇总

    5. 举例说明JavaScript的闭包,并解释其用途。 6. 什么是跨域?有哪些解决跨域的方法? 7. 深拷贝和浅拷贝的区别是什么?如何实现深拷贝? 8. 箭头函数与普通函数的区别,特别是关于this的绑定。 9. 介绍Promise的...

    123-基本-JavaScript-面试问题:JavaScript面试问题

    以下是一些基本的JavaScript面试问题,这些问题涵盖了语言的核心概念、函数、编码挑战以及面向对象编程的相关知识点。 1. **变量与数据类型** - JavaScript中的变量声明有哪些方式?`var`, `let`, 和 `const` 有...

    java面试宝典

    1、面向对象的特征有哪些方面? 8 2、作用域public,private,protected,以及不写时的区别? 8 3、String 是最基本的数据类型吗? 8 4、float 型float f=3.4是否正确? 8 5、语句float f=1.3;编译能否通过? 8 6、short ...

    js代码-原型对象与对象原型举例和说明

    JavaScript是一种广泛应用于Web开发的轻量级脚本语言,它在处理对象和继承时有着独特的机制。...通过实例和练习,开发者能够更好地掌握原型链的工作方式,从而更好地利用JavaScript的面向对象特性。

    详解js中的原型,原型对象,原型链.docx

    通过以上讨论,我们可以看到JavaScript中的原型机制为实现面向对象编程提供了一种非常灵活的方法。了解原型、原型对象和原型链的工作原理对于编写高效、可维护的JavaScript代码至关重要。掌握这些概念可以帮助开发者...

    Javascript编程中几种继承方式比较分析

    在探讨JavaScript编程中继承方式的比较分析之前,首先需要理解继承的概念及其在面向对象编程中的重要性。继承是面向对象编程中一项核心机制,允许创建一个新类(子类)继承现有类(父类)的属性和方法。在JavaScript...

    客户端统一验证JavaScript函数库及示例源码

    同样地,任何JavaScript这类面向对象程序语言的元素,也都是对象。这些对象都通过分级系统,作为主体的一部分。举例来说,浏览器窗口是一个对象,包含了几个文档对象,这些对象进而形成其他对象,依此类推,这个分级...

    最新Java面试宝典pdf版

    举例说明。 32 49. 下面两个方法同步吗?(自己发明) 33 50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后,...

    JS实现继承的几种常用方式示例

    JavaScript中的继承是面向对象编程的重要概念,它允许创建基于现有对象的新对象,这些新对象能够继承已有对象的属性和方法。在JavaScript中,有多种实现继承的方式,主要包括原型链继承、构造继承、组合继承以及寄生...

    Javascript Memoization 缓存函数使用说明

    在学习JavaScript面向对象编程时,Memoization是一种值得掌握的技术,它用于提高函数的执行效率。Memoization的核心思想是缓存函数的执行结果,以避免重复计算,特别是对于那些计算成本高或耗时长的函数,这种技术尤...

    Java面试宝典-经典

    举例说明。 32 49. 下面两个方法同步吗?(自己发明) 33 50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后,...

Global site tag (gtag.js) - Google Analytics