除了toString()之外,还有什么其他方法可以查看函数的主体

用户139643

我不希望第三方JS看到我公开的函数的代码,因此我已经覆盖了它们的.toString方法。

除了toString之外,还有其他方法可以公开功能代码吗?

谢谢!

一定的表现

自定义toString属性是不够的,因为Function.prototype.toString可以在函数上调用:

function foo() {
  console.log('foo implementation');
};
foo.toString = () => 'hidden';
console.log(Function.prototype.toString.call(foo));

当前,没有办法完全隐藏实现而不Function.prototype.toString事先进行覆盖,以至于没有人可以在以后引用和调用它(这是一个很奇怪的解决方案),例如:

Function.prototype.toString = () => 'nope';

但是即使在多领域环境中,这也不是万无一失的


最终可能有一种适当的方法可以通过实现隐藏提案来做到这一点它的语法与相似use strict,不同之处在于它将阻止函数的外部使用者看到内部任何内容。例如:

const y = () => {
  "hide source";
  // implement y here
  // nothing outside will be able to see its source code (easily)
};

该提案仅处于第2阶段,但有望最终成为官方语言。


话虽如此-这些技术可用于使第三方代码更难查看您正在执行的操作,但不能保证此操作-毕竟,任何关心的人都可以手动查看您的代码并查看这是怎么回事。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

除了alsactl存储之外,还有什么其他方法可以保存alsamixer设置吗?

来自分类Dev

除了使用dto之外,还有什么其他方法可以显示来自两个实体的数据

来自分类Dev

除了身份验证之外,还有其他方法可以区分用户吗?

来自分类Dev

除了“自然”之外,还有什么其他方法来定义树?

来自分类Dev

除了.each()函数之外,还有没有其他方法可以使用jQuery将输入字段中的信息收集到数组中?

来自分类Dev

除了使用访客模式之外,还有没有其他方法可以在C#中使用变体?

来自分类Dev

除了使用循环展开之外,还有没有其他方法可以优化向量矩阵乘法?

来自分类Dev

除了Array / ArrayList之外,还有没有其他方法可以保存矩阵元素

来自分类Dev

除了内联块之外,还有没有其他方法可以使元素不换行?

来自分类Dev

除了phonegap之外,还有什么其他方法可以在手机缺口中创建应用程序

来自分类Dev

除了使用多行var之外,还有其他方法可以存储HTML代码块吗?

来自分类Dev

除了eval之外,还有其他方法可以防止我的perl脚本因错误而终止

来自分类Dev

除了意图之外,还有其他方法可以跨Android Studio中的活动发送数据

来自分类Dev

Python 2.7.10:除了使用 len() 之外,还有其他方法可以检查输入是否为空

来自分类Dev

除了使用表格之外,还有其他方法可以在 EXCEL VBA 中存储文件夹路径吗?

来自分类Dev

除了使用Xpath之外,还有其他方法吗?

来自分类Dev

Docker工具箱:除了从“ C:\ Users” Windows之外,还有其他方法可以挂载其他文件夹吗?

来自分类Dev

斯威夫特:除了单例以外,还有什么其他方式可以存储currentUser?

来自分类Dev

除了<br />,还有没有其他方法可以打破html中的行?

来自分类Dev

除了click()和Submit()方法之外,还有其他方法可以选择/单击Selenium Webdriver中的Web元素吗?

来自分类Dev

除了枢轴以外,还有其他方法可以将行字段转换为列

来自分类Dev

除了 PHPUnit,还有其他方法可以测试 Symfony 应用程序吗?

来自分类Dev

除了输入密码外,还有其他方法可以解锁屏幕?

来自分类Dev

除了Combine的@Published之外,是否还有其他方法可以在发生值更改之前而不是之前发出信号更改?

来自分类Dev

除了sleep()之外,还有其他方法可以使AutoIt脚本在执行下一个功能之前等待吗?

来自分类Dev

除了覆盖表之外,还有其他方法可用于更新Big Query中的行吗?

来自分类Dev

除了使用SELECT FOR UPDATE在oracle中进行并发编辑之外,还有其他方法吗?

来自分类Dev

除了将位复制到ANativeWindow缓冲区之外,还有其他方法吗?

来自分类Dev

除了可以运行macOS .app文件的macOS之外,还有其他替代方法吗?

Related 相关文章

  1. 1

    除了alsactl存储之外,还有什么其他方法可以保存alsamixer设置吗?

  2. 2

    除了使用dto之外,还有什么其他方法可以显示来自两个实体的数据

  3. 3

    除了身份验证之外,还有其他方法可以区分用户吗?

  4. 4

    除了“自然”之外,还有什么其他方法来定义树?

  5. 5

    除了.each()函数之外,还有没有其他方法可以使用jQuery将输入字段中的信息收集到数组中?

  6. 6

    除了使用访客模式之外,还有没有其他方法可以在C#中使用变体?

  7. 7

    除了使用循环展开之外,还有没有其他方法可以优化向量矩阵乘法?

  8. 8

    除了Array / ArrayList之外,还有没有其他方法可以保存矩阵元素

  9. 9

    除了内联块之外,还有没有其他方法可以使元素不换行?

  10. 10

    除了phonegap之外,还有什么其他方法可以在手机缺口中创建应用程序

  11. 11

    除了使用多行var之外,还有其他方法可以存储HTML代码块吗?

  12. 12

    除了eval之外,还有其他方法可以防止我的perl脚本因错误而终止

  13. 13

    除了意图之外,还有其他方法可以跨Android Studio中的活动发送数据

  14. 14

    Python 2.7.10:除了使用 len() 之外,还有其他方法可以检查输入是否为空

  15. 15

    除了使用表格之外,还有其他方法可以在 EXCEL VBA 中存储文件夹路径吗?

  16. 16

    除了使用Xpath之外,还有其他方法吗?

  17. 17

    Docker工具箱:除了从“ C:\ Users” Windows之外,还有其他方法可以挂载其他文件夹吗?

  18. 18

    斯威夫特:除了单例以外,还有什么其他方式可以存储currentUser?

  19. 19

    除了<br />,还有没有其他方法可以打破html中的行?

  20. 20

    除了click()和Submit()方法之外,还有其他方法可以选择/单击Selenium Webdriver中的Web元素吗?

  21. 21

    除了枢轴以外,还有其他方法可以将行字段转换为列

  22. 22

    除了 PHPUnit,还有其他方法可以测试 Symfony 应用程序吗?

  23. 23

    除了输入密码外,还有其他方法可以解锁屏幕?

  24. 24

    除了Combine的@Published之外,是否还有其他方法可以在发生值更改之前而不是之前发出信号更改?

  25. 25

    除了sleep()之外,还有其他方法可以使AutoIt脚本在执行下一个功能之前等待吗?

  26. 26

    除了覆盖表之外,还有其他方法可用于更新Big Query中的行吗?

  27. 27

    除了使用SELECT FOR UPDATE在oracle中进行并发编辑之外,还有其他方法吗?

  28. 28

    除了将位复制到ANativeWindow缓冲区之外,还有其他方法吗?

  29. 29

    除了可以运行macOS .app文件的macOS之外,还有其他替代方法吗?

热门标签

归档