Safari 显示 JS 错误,但 Chrome 没有

Safari showing JS error, but Chrome doesn't

我对 JS 很陌生。我一直在开发几个 JS 函数。他们在 Chrome 工作。昨天我在 Safari 中试了一下,它吐出错误。

函数:

Request.SetForm = function (form, ruleset = [], messageset = null, focus = null, special = false, ignore = false) {

// Code here

}

我这样称呼它:

var $validator = Request.SetForm(arguments here);

现在 Safari 说:

ReferenceError: Can't find variable: Request

正如我所说,Chrome 什么也没说,而且工作正常。这里有什么问题?

不要忘记在使用前声明请求。 使用

var Request = {};

然后使用

Request.method = function(){}

因为某些旧版本如果未声明则无法解析变量(通常当我们在 use strict 模式下使用时会出现此问题。

否则, 请求可能是您正在使用的 Safari 版本中的关键字或内置方法。 所以改个名字就好了。