3

尝试在服务器端 PhantomJS 脚本中使用similar.js 会引发未定义的错误,并且没有任何日志记录会穿透 {object Object} 在 phantom/examples/universe.js 文件之后进行模式化,我尝试将原始的similar.js 文件转换为:

(function (_this) {
  _this['resemble'] = function (fileData) {
    ...
  }
}(this));

进入

exports.create = function () {
  (function (_this) {
    _this['resemble'] = function (fileData) {
      ...
    }
  }(this));
};

exports.create = function () {
  resemble = function (fileData) {
    ...
  }
};

首先,这个悬空到底是(this)做什么的?其次,我怎样才能记录那个对象?最后,包装该文件的正确方法是什么?

谢谢!

4

1 回答 1

1

要在 phantomJS 中运行,请查看https://github.com/Huddle/PhantomCSS。克隆,您立即启动并运行。如果您不在 Windows 上,请将 phantomjs.exe 替换为您系统的正确二进制文件。

你没有完全(this)正确地粘贴最后。无论如何,这是一个IIFE。函数的第一个参数_this只是(this)末尾的一个范围副本。

_this您可以简单地通过在函数体中转储或在函数体this外部记录来记录它。

另请参阅javascript 中的这个构造是什么?Advanced Javascript:为什么这个函数用括号括起来?[复制]

于 2013-03-09T01:27:56.773 回答