JavaScript - 使用原生JS实现JQuery中的extend()方法

358 阅读1分钟

extend()方法

extend()方法主要用于扩展对象的属性,或者扩展方法

比如我们可以定义一个Att.js,在其中加入扩展方法extend(),Att.js中的内容如下:

let Att = {
    extend(a, b) {
        b = b || this;
        for(let key in a ) {
            b[key] = a[key];
        }
    }
}

此时,如果我们想给将一个对象的属性添加给另一个对象,或者扩展Att.js中的方法,就可以使用extend()方法实现,详细代码如下:

    let ace = {
        name: "ace",
    }
    let obj = {
        age: 20,
        sayHi() {
            console.log("hi");
        }
    }

    Att.extend(obj, ace); // 将obj的属性添加进ace中

    // 给Att.js扩展方法sayHello()
    Att.extend({
        sayHello() {
            console.log("hello");
        }
    })

    console.log(ace); // {name: "ace", age: 20, sayHi: ƒ}
    Att.sayHello(); // hello