落叶缤纷

文章 评论 浏览 26

落叶缤纷 2022-05-04 13:56:36
let myFun = {
    add(number) {
        if (typeof number !== 'number') {
            throw new Error('请输入数字')
    	}
    	return this + number
    },
    minus(number) {
        if (typeof number !== 'number') {
            throw new Error('请输入数字')
    	}
    	return this - number
    }
}

// 挂载到原型上
Object.assign(Number.prototype, myFun)

;(5).add(3).minus(2)
// 6

让一让,我分享一个比较简便、便于维护的方法。

第 50 题:实现 (5).add(3).minus(2) 功能

落叶缤纷 2022-05-04 13:14:51

这个类型转换推荐直接看《你所不知道的JavaScript》,这个写的感觉条例不太行

JavaScript 深入之头疼的类型转换(上)

落叶缤纷 2022-05-02 23:39:59

两者区别在参数传递格式:
apply( ):两个参数,第一个是运行函数的作用域,第二个是参数数组(可以是array的实例,或者arguments对象)。
call( ):参数个数不定,第一个是运行函数的作用域,其余传递给函数的参数逐个列出。
apply()和 call()的2个作用:给函数传参、扩充作用域;
至于是使用 apply( )还是 call( ),完全取决于你采取哪种给函数传递参数的方式最方便。

第 48 题:call 和 apply 的区别是什么,哪个性能更好一些?

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文