对js中arguments的理解

export default function (target) {
    for (let i = 1, j = arguments.length; i < j; i++) {
        let source = arguments[i] || {}
        for (let prop in source) {
            if (source.hasOwnProperty(prop)) {
                let value = source[prop]
                if (value !== undefined) {
                    target[prop] = value
                }
            }
        }
    }
    return target
}

arguments:

**它是JS的一个很重要的内置对象,JS不像JAVA是显示传递参数,JS传的是形参,可以传也可以不传,
若方法里没有写参数却传入了参数,该如何拿到参数呢,就要用arguments了,在一些插件里通常这样使用。
每一个函数都有一个arguments对象,它包括了函数所要调的参数,通常我们把它当作数组使用,
用它的length得到参数数量,但它却不是数组,使用instanceof查看下,若使用push添加数据将报错**

js中的hasOwnProperty

 js属性对象的hasOwnProperty方法
Object的hasOwnProperty()方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。
发布了35 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39024950/article/details/104692876