`

costom extend

阅读更多

//自定義繼承

--------------------------------------------------------------------------------------

var rect = function() {
};

myextend(rect, Object, {
            width : 5,
            height : 6
        });
rect.prototype.area = function() {
    alert("this is RectAngle.prototype.area() method");
    return this.width * this.height;
};

//alert(rect.width);
//alert(rect.height);
//alert(rect.area());


var rect_01 = function() {
};

myextend(rect_01, rect, {
            width : 2,
            height : 3
        });

//alert(rect_01.height);
//alert(rect_01.width);
alert(rect_01.area());

 

 

--------------------------------------------------------------------------------------

//  多對象順序繼承時

 

function myextend(child, father, override) {
    child.prototype = father.prototype;
    for (var item in override) {
        child.prototype[item] = override[item];
    }
}

RectAngle = function() {
};
myextend(RectAngle, Object, {
            width : 10,
            height : 20
        });

//RectAngle.prototype = {
//    area : function() {
//        alert("this is RectAngle.prototype.area() method");
//        return width * height;
//    }
//};

 

/* 如以上定義成員方法時,在子類中訪問不到的 */

RectAngle.prototype.area = function() {
    alert("this is RectAngle.prototype.area() method");
    return this.width * this.height;
}

alert(RectAngle.width);
alert(RectAngle.height);
alert(RectAngle.area());

var Rect = function() {
};

myextend(Rect, RectAngle, {
            width : 3,
            height : 5
        });

alert(Rect.width);
alert(Rect.height);
alert(RectAngle.area());
alert(RectAngle.width);
alert(RectAngle.height);
alert(Rect.area());

 

/* 以上測試中發現:Rect 和 RectAngle 共用prototype 中的屬性 */

分享到:
评论

相关推荐

    jquery $.fn.extend

    console.log('Custom event triggered!'); }); // 触发自定义事件 $('div').triggerCustomEvent('customEvent'); ``` 通过这种方式,我们能够构建自己的事件系统,使其与jQuery的事件处理机制无缝集成。 ### ...

    jQuery.extend

    **jQuery.extend** jQuery.extend是jQuery库中的一个非常重要的方法,用于合并两个或更多的对象属性到一个目标对象中。这个功能在开发过程中非常实用,尤其是在处理配置选项、扩展插件功能或者进行对象拷贝时。本篇...

    Building.Android.UIs.with.Custom.Views

    Extend the standard UI widget framework by creating Custom views Add complex rendering, animations, and interactions to your views Optimize performance and decrease battery usage Implement custom ...

    Jquery实现$.fn.extend和$.extend函数

    _$_().fn.extend({myMethod: function() {console.log('My custom method!')}}) _$_().myMethod(); // 输出 "My custom method!" _$_().extend({configOption: 'value'}) console.log(_$().configOption); // 输出 ...

    无废话ExtJs 系列教程十八[继承:Extend]

    Ext.extend(MyCustomComponent, Ext.Component, { // 在这里添加自定义属性和方法 }); ``` 在这里,`MyCustomComponent`将继承`Ext.Component`的所有属性和方法,并且可以在括号内添加自己的属性和方法。这样,...

    Laravel开发-laravel-custom-validator

    Validator::extend('even', function ($attribute, $value, $parameters, $validator) { return (int)$value % 2 === 0; }); } ``` 这里的`even`是自定义规则的名称,函数接收四个参数:验证的属性、值、参数...

    Ackerly#Article#手写Vue.extend方法1

    let Custom = Vue.extend({全局API和实例不一样,是在Vue原型上挂在方法,也就是Vue.prototype上挂载方法作用:Vue.ex

    基于Oracle Extend RAC构建运营商异地高可用CRM系统实践.pdf

    所涉及应用有:Business Objects,Custom,IBM,SAP,Siebel等。根据IBM和Oracle的联合测试,发现距离在25KM以内,可以控制对性能的影响小于10%,而广西移动生产和容灾机房距离在15KM以内,对性能的影响在5%-10%之间。 ...

    custom-textarea:Web组件custom-textarea元素

    <自定义文本区域> Web组件custom-textarea元素。 该组件背后的原因是创建一个普通的无样式自动增长文本区域。安装npm i @lemmon/custom-textarea在Web应用程序内部使用// ...useful when you want to extend the c

    javafx-extend-fxml:关于如何在JavaFX中扩展基于fxml的组件的简短教程

    JavaFX是一种强大的Java库,用于构建桌面...在`javafx-extend-fxml-master`这个项目中,可能包含了上述所有步骤的示例代码,供你参考学习。通过深入研究这些示例,你可以更好地理解如何在实践中扩展JavaFX的FXML组件。

    Laravel开发-laravel-passport-custom-grant

    同时,在 `app/Providers/AuthServiceProvider.php` 的 `boot` 方法中,使用 `Passport::extend` 注册你的自定义授权处理器。 5. **处理授权请求** 当客户端发起授权请求时,Laravel Passport 将使用你定义的...

    jQuery中extend函数简单用法示例

    通过`$.extend({}, defaults, customSettings)`,我们将`customSettings`中的属性复制到`defaults`对象中,如果属性名相同,则`customSettings`中的属性值将覆盖`defaults`中的值。合并结果被存储在`settings`对象中...

    vue.extend与vue.component的区别和联系

    var CustomComponent = Vue.extend({ data: function () { return { message: 'Hello from CustomComponent!' } }, template: '<p>{{ message }}</p>' }); ``` 在这个例子中,`CustomComponent`是一个新的构造...

    Vue官方文档梳理之全局配置

    customOption: 'Vue.extend' }) Vue.component('custom', { customOption: 'Vue.component' }) var vm = new Vue({ customOption: 'newVue', extends: { customOption: 'extends' }, mixins: [{ custom...

    Laravel开发-validator-extended-syntax

    Validator::extend('customRule', function ($attribute, $value, $parameters, $validator) { // 验证逻辑 }); ``` 三、否定验证 该包的一个重要特性是添加了否定验证支持。默认的Laravel验证器只能检查某个条件...

    Programming Kubernetes Developing Cloud-Native Applications.epub

    If you’re looking to develop native applications in Kubernetes, this is your guide. Developers and AppOps administrators will ...Extend the Kubernetes API surface by implementing a custom API server

    jQueryExtendDemo

    plugin({option2: 'custom2'}); // 自定义option2,option1保持默认值 ``` #### 3.2 合并对象 在需要合并多个对象属性时,`jQuery.extend()`也能派上用场: ```javascript var obj1 = {a: 1, b: 2}; var obj2 = {...

    2020高三英语第一轮总复习 Module4 Carnival金品学案 外研版必修5.doc

    例如,可以通过编写关于不同国家风俗习惯的短文来练习custom,描述一个场景来使用extend,编写一个故事包含pretend的情节,回忆过去的事件来训练memory,以及设想如何复兴一项传统活动来运用revive。通过这样的实践...

    Intro to the Alfresco Web Script Framework.pdf

    We'll continue to extend the “SomeCo Whitepapers” example started in previous articles. As a quick refresher, in those articles, we extended the out­of­the­box content model so that SomeCo could ...

    Playmaker1.7.8.3

    The powerful visual scripting solution used in Hearthstone and Dreamfall ...:: Extend Playmaker with Custom Actions. :: Watch tutorials on our YouTube Channel. :: Join an active online community.

Global site tag (gtag.js) - Google Analytics