首先,我很久以前就从这个网站获得了很多帮助,尽管我只是刚刚注册。感谢所有在这里分享知识的人!javascript“=>”运营商
我刚开始学习JavaScript一个星期,以建立一个Firefox插件,所以请裸露在我身边,并为我的noobish问题和soso英语语法抱歉。
https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Unit_testing
在MDN的上述链接中,它解释了如何编写单元测试来开发Firefox的插件。不过,有几段我不明白,并且在搜索google后没有找到任何有用的结果。
第一个:
以下是从上述链接qauted段落:
在网页中,则可以使用 BTOA()和ATOB()函数执行Base64编码和解码。不幸的是,这些函数是 附加到窗口对象:因为此对象不可用于 您的主要附加代码atob()和btoa()也不可用。因此,我们将创建一个base64模块,以便从 平台公开这些功能(请参阅创建可重用模块)。
以上段落中的“平台”是什么意思? “Services.jsm”?
另外,在下面的代码: const { atob, btoa } = require("resource://gre/modules/Services.jsm");
这使得ATOB和BTOA因为这是可用于其他类的服务呢?或使(常量变量)atob和btoa都引用Services.jsm?
第二个: 这两行代码是做什么的?
exports.atob = a => atob(a);<br /> exports.btoa = b => btoa(b);
我理解的部分
exports.atob
使ATOB功能可从其它类中的“base64.js”之外。
但以下内容是什么意思?
= a => atob(a);
我没有发现JavaScript有“=>”运算符!
从我的理解来看,我们创建base64.js的原因是因为atob和btoa只能在有窗口对象的情况下调用。因此我们可以使用Services.jsm来获取窗口对象的引用?
预先感谢您!
非常感谢您的详细解释!
我可以说Services.jsm是导出所有绑定到https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/btoa windowbase64的函数的桥梁吗? – ganor
Grrrr ...我只能编辑5分钟的评论,抱歉以下评论! 所以我可以说Services.jsm可以用来导出所有没有窗口相关对象不可用的函数吗?或者它是个案情况? 我不能相信'=>'在论坛上被回答过!我确实搜索“=>”,但没有出现......真的很感谢! – ganor
没问题! Services.jsm可以用来导出在那里定义的所有函数,这可能或不可能是函数。 – Dexter