【问题标题】:Passing on a function from server to client将功能从服务器传递到客户端
【发布时间】:2012-01-22 12:45:09
【问题描述】:

我最近在 JavaScript 中遇到了 foo.toSource() 选项。这允许函数的序列化。 我想知道通过网络传输功能的可能性,从服务器到客户端,并在以后执行它们 - 使用 eval()。

你觉得它真的有用吗?
有没有使用这种范式的框架?

【问题讨论】:

  • 1) toSource() 仅适用于 IE,请参阅this question 的答案以了解其他浏览器中的实现。 2)toSource 与您提出的问题有什么联系?
  • 我建议你不要使用 eval();它很慢,如果代码是用户生成的,你会冒 XSS 的风险。
  • 谢谢。我的问题更具理论性。我并不是要提出这样做​​的实际原因(toSource 只是序列化要通过网络传输的函数的一种可能方式)。

标签: javascript functional-programming paradigms


【解决方案1】:

无需 toSource 即可将函数从服务器传递到页面,只需在服务器生成页面时将其放入代码中,或在需要时通过 AJAX 请求即可。

【讨论】:

  • 谢谢!是的,我想到了你在说什么,这让我想到了下一个问题/疑惑:是否可以通过闭包来转移函数?你认为这种功能会有用吗?
【解决方案2】:

我看到的唯一用例是:

  1. 无论何时发送 .js 文件
  2. JSNOP

你想到的事情是不可能的。所以我们只能发送函数的文本表示,而不是上下文或闭包之类的东西。

【讨论】:

  • 好的,谢谢!这很有帮助。我想我没有想到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-16
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 2014-01-05
相关资源
最近更新 更多