【问题标题】:Syntax error in CSET libraryCSET 库中的语法错误
【发布时间】:2010-11-12 04:06:44
【问题描述】:

我正在使用CSET,这是一个用于 Javascript 的 Unicode 字符类的库。它在 Firefox、IE8 和 Opera 中加载良好,但在 Google Chrome 和 Safari 4 中加载失败并出现语法错误。奇怪的是,语法错误是不同的。

来自cset_production.js

野生动物园

SyntaxError: Parse error
(line 255)

CSET=function(){
// ...
var g=this
return {import:function(prefix,object){object=object||g
 var i,l,e,es=           // SyntaxError: Parse error (line 255)
 [['fromChar',fC]
 ,['fromInt',fI]
 ,['universe',U]
 ,['nil',nil]
 ,['empty',empty]
 ,['singleton',one]
 ,['fromIntRange',fIR]
 ,['fromCharRange',fCR]
 ,['fromUnicodeGeneralCategory',fGC]
 ,['complement',comp]
 ,['fromList',fL]
 ,['fromString',fS]
 ,['member',member]
 ,['difference',diff]
 ,['union',union]
 ,['intersection',inter]
 ,['toRegex',reCC]
 ,['show',show]
 ]
 for(i=0,l=es.length;i<l,e=es[i];i++)
  object[(prefix||'')+e[0]]=e[1]}}
}();

Safari 出现语法错误的原因是什么?我可以做些什么来纠正这个问题?

谷歌浏览器

uncaught exception SyntaxError: Invalid left-hand side in assignment

[hi,lo]=surrogatePair(c)     // Line 200

这个错误是在法律代码上调用的吗?或者谷歌浏览器的解析器在这条线上的错误是正确的吗?

【问题讨论】:

  • 当我在谷歌浏览器中运行它时,它返回了一个对象并且根本没有出错。
  • @Salty,你跑的是什么“那个”?
  • cset_production.js 和 cset_source.js(来自同一站点)。我打开了 javascript 控制台并运行了两者,但没有发现任何错误。我的 chrome 安装是一个测试版,但是......也许会影响它?
  • @Salty,Windows 7 上最新 Beta (google.com/landing/chrome/beta) 中的错误:jsbin.com/oqeyi

标签: javascript syntax safari google-chrome


【解决方案1】:

Safari 在将 import 用作对象属性时遇到问题。此外,它被源代码中的 unicode 字符弄糊涂了。纠正这两个问题会导致 Chrome 遇到的问题。

Chrome 的问题(以及后来 Safari 的问题)很容易解决。

我已联系 CSET 的作者,希望这些问题将在另一个版本中得到解决。

已发布新版本的 CSET 来纠正这些问题。

【讨论】:

    猜你喜欢
    • 2021-10-10
    • 1970-01-01
    • 2015-05-18
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多