为什么 jshint 在 lastSelectedRow 上提醒只读

Why jshint alerts Read only on lastSelectedRow

下面粘贴到 jshint.com 站点的代码导致错误

Read only

lastSelectedRow = 1;

为什么会出现这个错误,如何解决? jslint 不会抛出这个错误。

/*global lastSelectedRow */
function main() {
  lastSelectedRow = 1;
  return 'Hello, World!';
}

main();

"Read only" 将值分配给内置本机对象或全局变量时会发生错误。在您的代码中,因为您在评论中提到 lastSelectedRow 是一个全局变量,JSHint 会引发此错误以强调存在潜在数据丢失的可能性。

此错误并不意味着您的代码无法正常工作,但它可能会破坏第三方脚本。

参考http://jslinterrors.com/read-only了解更多信息。

我无法从您提供的代码中理解您的用例。要修复它,您可以在函数范围内更改变量名称,避免重新分配给全局变量。

/*global lastSelectedRow */
function main() {
  var aa = lastSelectedRow;
  return aa.toString() + 'Hello, World!';
}

main();