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

876 阅读1分钟

extend()方法

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

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

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

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

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

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

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

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