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

js中prototype用法和例子

 
阅读更多

 

JavaScript能够实现的面向对象的特征有:
·公有属性(public field)
·公有方法(public Method)
·私有属性(private field)
·私有方法(private field)
·方法重载(method overload)
·构造函数(constructor)
·事件(event)
·单一继承(single inherit)
·子类重写父类的属性或方法(override)
·静态属性或方法(static member)


例子一(JavaScript中允许添加行为的类型):可以在类型上使用proptotype来为类型添加行为。这些行为只能在类型的实例上体现。 JS中允许的类型有Array, Boolean, Date, Enumerator, Error, Function, Number, Object, RegExp, String

Js代码
  1. <script type="text/javascript">
  2. Object.prototype.Property = 1;
  3. Object.prototype.Method = function ()
  4. {
  5. alert(1);
  6. }
  7. var obj = new Object();
  8. alert(obj.Property);
  9. obj.Method();
  10. </script>

例子二(prototype使用的限制):在实例上不能使用prototype,否则发生编译错误

Js代码
  1. <script type="text/javascript">
  2. var obj = new Object();
  3. obj.prototype.Property = 1; //Error
  4. //Error
  5. obj.prototype.Method = function()
  6. {
  7. alert(1);
  8. }
  9. </script>

例子三(如何定义类型上的静态成员):可以为类型定义“静态”的属性和方法,直接在类型上调用即可

Js代码
  1. <script type="text/javascript">
  2. Object.Property = 1;
  3. Object.Method = function()
  4. {
  5. alert(1);
  6. }
  7. alert(Object.Property);
  8. Object.Method();
  9. </script>

例子五():这个例子演示了通常的在JavaScript中定义一个类型的方法

Js代码
  1. <script type="text/javascript">
  2. function Aclass()
  3. {
  4. this.Property = 1;
  5. this.Method = function()
  6. {
  7. alert(1);
  8. }
  9. }
  10. var obj = new Aclass();
  11. alert(obj.Property);
  12. obj.Method();
  13. </script>

例子六(JavaScript中允许添加行为的类型):可以在外部使用prototype为自定义的类型添加属性和方法。

Js代码
  1. <script type="text/javascript">
  2. function Aclass()
  3. {
  4. this.Property = 1;
  5. this.Method = function()
  6. {
  7. alert(1);
  8. }
  9. }
  10. Aclass.prototype.Property2 = 2;
  11. Aclass.prototype.Method2 = function
  12. {
  13. alert(2);
  14. }
  15. var obj = new Aclass();
  16. alert(obj.Property2);
  17. obj.Method2();
  18. </script>

例子八():可以在对象上改变属性。(这个是肯定的)也可以在对象上改变方法。(和普遍的面向对象的概念不同)

Js代码
  1. <script type="text/javascript">
  2. function Aclass()
  3. {
  4. this.Property = 1;
  5. this.Method = function()
  6. {
  7. alert(1);
  8. }
  9. }
  10. var obj = new Aclass();
  11. obj.Property = 2;
  12. obj.Method = function()
  13. {
  14. alert(2);
  15. }
  16. alert(obj.Property);
  17. obj.Method();
  18. </script>

例子九():可以在对象上增加属性或方法

Js代码
  1. <script type="text/javascript">
  2. function Aclass()
  3. {
  4. this.Property = 1;
  5. this.Method = function()
  6. {
  7. alert(1);
  8. }
  9. }
  10. var obj = new Aclass();
  11. obj.Property = 2;
  12. obj.Method = function()
  13. {
  14. alert(2);
  15. }
  16. alert(obj.Property);
  17. obj.Method();
  18. </script>

例子十(如何让一个类型继承于另一个类型):这个例子说明了一个类型如何从另一个类型继承。

Js代码
  1. <script type="text/javascript">
  2. function AClass()
  3. {
  4. this.Property = 1;
  5. this.Method = function()
  6. {
  7. alert(1);
  8. }
  9. }
  10. function AClass2()
  11. {
  12. this.Property2 = 2;
  13. this.Method2 = function()
  14. {
  15. alert(2);
  16. }
  17. }
  18. AClass2.prototype = new AClass();
  19. var obj = new AClass2();
  20. alert(obj.Property);
  21. obj.Method();
  22. alert(obj.Property2);
  23. obj.Method2();
  24. </script>

例子十一(如何在子类中重新定义父类的成员):这个例子说明了子类如何重写父类的属性或方法。

Js代码
  1. <script type="text/javascript">
  2. function AClass()
  3. {
  4. this.Property = 1;
  5. this.Method = function()
  6. {
  7. alert(1);
  8. }
  9. }
  10. function AClass2()
  11. {
  12. this.Property2 = 2;
  13. this.Method2 = function()
  14. {
  15. alert(2);
  16. }
  17. }
  18. AClass2.prototype = new AClass();
  19. AClass2.prototype.Property = 3;
  20. AClass2.prototype.Method = function()
  21. {
  22. alert(4);
  23. }
  24. var obj = new AClass2();
  25. alert(obj.Property);
  26. obj.Method();
  27. </script>
分享到:
评论

相关推荐

    prototypejs和例子代码

    PrototypeJS 是一个广泛使用的JavaScript库,它为浏览器端的JavaScript编程提供了一系列强大的工具和功能,大大简化了DOM操作、事件处理、Ajax交互等任务。在标题中提到的"prototype1.4.js"和"prototype1.5.js"是...

    prototype 1.6.0.2.js+使用DEMO例子

    在这个"prototype 1.6.0.2.js+使用DEMO例子"的压缩包中,包含了该版本的核心库文件和相关示例,旨在帮助开发者更好地理解和应用Prototype。 首先,`prototype-1.6.0.2.js`是Prototype的核心脚本文件。这个文件包含...

    prototype-ajax例子

    在这个例子中,我们向`AjaxServlet`发送一个POST请求,携带参数`key=value`。如果请求成功,`onSuccess`回调会被调用,我们可以在这里解析服务器返回的数据(通常是JSON或XML格式),并更新前端的DOM元素。如果请求...

    JavaScript中prototype的使用

    在这个例子中,`Circle`的`prototype`被设置为一个新的`Shape`实例,使得`Circle`的所有实例都可以访问`Shape`的属性和方法。 3. **动态修改prototype** `prototype`是动态的,可以在运行时添加或删除属性。这...

    开源JS包Prototype使用指南

    **解析**:在这个例子中,我们定义了两个函数`test1`和`test2`。`test1`函数通过调用`$('myDiv')`获取ID为`myDiv`的元素,并弹出该元素的`innerHTML`属性。`test2`函数则通过调用`$$('myDiv', 'myOtherDiv')`获取多...

    js框架prototype 1.6 中文参考手册 天涯浪子

    8. **JSON支持**:在1.6版本中,Prototype对JSON(JavaScript Object Notation)进行了支持,提供了`Object.toJSON()`和`JSON.parse()`方法,便于数据序列化和反序列化。 9. **兼容性**:Prototype 1.6致力于提高跨...

    prototype小例子

    在这个例子中,`Person`函数的`prototype`被赋予了一个`sayHello`方法。当我们创建`Person`的实例时,这个实例就可以调用`sayHello`方法: ```javascript let p = new Person(); p.sayHello(); // 输出 "Hello, I ...

    prototype进度条的实现例子--progressBar

    4. 动画效果:如果想要增加动画效果,可以在`update`方法中添加延迟和过渡效果,比如使用`setTimeout`和CSS的`transition`属性。 三、进一步扩展 - **事件监听**:添加事件监听器,让进度条在特定事件(如文件上传...

    prototypeJS脚本的讲解+实例

    在`prototype.js开发手册.pdf`中,你可以找到详细的API文档和使用示例,帮助你全面掌握PrototypeJS的使用。而`prototypeDemo`可能是包含了一些实践示例的代码文件,通过这些示例,你可以更直观地了解PrototypeJS在...

    prototype的使用

    在这个例子中,`Person.prototype`被用来添加了`name`属性和`sayHello`方法,这两个成员被所有`Person`实例共享。 接下来,我们要了解`__proto__`和`[[Prototype]]`。虽然`__proto__`是一个非标准的属性,但在许多...

    SSI中使用Ajax进行操作的例子(prototype.js)

    在本例中,我们使用Prototype.js,这是一个轻量级的JavaScript库,提供了丰富的DOM操作接口和Ajax功能,简化了Ajax应用的开发。 Prototype.js库提供了许多方便的函数,如Ajax.Request和Ajax.Updater,它们是执行...

    JS中prototype的用法实例分析

    本文实例讲述了JS中prototype的用法。分享给大家供大家参考。具体分析如下: JS中的phototype是JS中比较难理解的一个部分   本文基于下面几个知识点:   1 原型法设计模式 在.Net中可以使用clone()来实现原型法 ...

    非常有用的prototype实例

    首先,了解`prototype`的基本原理:每个函数(在JavaScript中,函数也是对象)都有一个名为`prototype`的属性,这个属性是一个对象,用于定义实例化该函数的对象所能共享的属性和方法。当我们创建一个新对象时,该...

    JS利用prototype给类添加方法操作详解

    在这个例子中,只有`cls1`有`toString`方法,而`new MyClass("zhang", 10)`创建的`cls2`则没有。 `prototype`对象有一个内置的`constructor`属性,它默认指向创建它的构造函数。这意味着,如果我们不手动修改`...

    js经典使用例子 js经典使用例子

    本篇将围绕“js经典使用例子”深入探讨JavaScript的一些关键知识点。 1. **DOM操作**:Document Object Model(DOM)是HTML和XML文档的结构化表示,JavaScript通过DOM API可以对网页元素进行增删改查。例如,通过`...

    prototype自己做的第二个例子

    在压缩包中的`js`文件很可能包含了示例代码,演示了如何使用`prototype`来构建对象和实现继承。 总结来说,`prototype`是JavaScript中实现面向对象编程的关键,它允许我们定义对象的共享行为,并通过原型链实现对象...

    DOM 模型和 Prototype

    在这个例子中,`Developer`类继承自`Person`类,通过调用`Person.prototype.initialize`确保了初始化过程。`Developer`类还添加了一个新的方法`code`。 Prototype.js 文件是Prototype框架的核心库,包含了所有这些...

    JavaScript中的prototype使用说明

    这些实现其实方法都可以用JavaScript中的引用和变量作用域结合prototype来解释。 2、简单的例子 代码如下: var Blog = function( name, url ){ this.name = name; this.url = url; }; Blog.prototype.jumpurl = ”; ...

    Prototype入门

    通过学习Prototype.js,不仅可以掌握JavaScript的高级用法,还可以了解到面向对象编程的一些概念,这对于提升Web应用的交互性和用户体验至关重要。 总的来说,Prototype.js是一个强大的JavaScript工具库,它通过...

Global site tag (gtag.js) - Google Analytics