javascript_冷知识之_(0, function)(param)

博客探讨了JavaScript中(0, function)(param)语法的用途,主要用来改变函数内部this的指向,确保其指向全局对象。作者通过查阅资料和实践验证,揭示了该语法的本质是逗号操作符,并讨论了为何在某些源码中选择这种写法,以避免修改函数或原型链带来的问题。" 106279085,9556875,异步FIFO硬件设计与实现,"['硬件语言', 'Verilog', 'FIFO']
摘要由CSDN通过智能技术生成

(0 , function)(param) 究竟是什么?

最近在读一些 loader 的源码,发现有许多摸不着头脑的地方,其中一点是有许多函数在调用时,都采用了(0, function)(param) 的形式调用。如

(0, _schemaUtils.default)(_options.default, options, {
   
    name: 'CSS Loader',
    baseDataPath: 'options'
  });
网上资料

刚开始很不理解,在 stackoverflow 上寻找答案,大致了解这种写法的作用是强制改变 this 的指向。
What is the meaning of this code (0, function) in javascript [duplicate]
有几种说法,不过基本上可以理解为改变了 this 的指向。

实践出真知

那么它的 this 指向究竟被改成了啥?带着这个疑问,写下如下代码并在两种环境下运行(node / window)

const dog = {
   
    run() {
   
        console
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值