在JS中 定义一个函数名字是export 会报错(ff不报错,ie会),修改成其他名字就行了。
原因是,export是ECMA为将来保留的词(Words reserved for ECMA extensions)。
下面把OReilly.JavaScript.The.Definitive.Guide.5th.Edition
2.8. Reserved Words的内容: |
JavaScript has a number of reserved keywords. These are words that you cannot use as identifiers (variable names, function names, and loop labels) in your JavaScript programs. Table 2-1 lists the keywords standardized by ECMAScript v3. These words have special meaning to JavaScript; they are part of the language syntax itself.
Table 2-1. Reserved JavaScript keywords
break
do
if
switch
typeof
case
else
in
this
var
catch
false
instanceof
tHRow
void
continue
finally
new
true
while
default
for
null
try
with
delete
function
return
Table 2-2 lists other reserved keywords. These words are not currently used in JavaScript, but they are reserved by ECMAScript v3 as possible future extensions to the language.
Table 2-2. Words reserved for ECMA extensions
abstract
double
goto
native
static
boolean
enum
implements
package
super
byte
export
import
private
synchronized
char
extends
int
protected
throws
class
final
interface
public
TRansient
const
float
long
short
volatile
debugger
In addition to some of the formally reserved words just listed, current drafts of the ECMAScript v4 standard are contemplating the use of the keywords as, is, namespace, and use. Current JavaScript interpreters will not prevent you from using these four words as identifiers, but you should avoid them anyway.
You should also avoid using as identifiers the names of global variables and functions that are predefined by JavaScript. If you create variables or functions with these names, either you will get an error (if the property is read-only) or you will redefine the existing variable or functionsomething you should not do unless you know exactly what you're doing. Table 2-3 lists global variables and functions defined by the ECMAScript v3 standard. Specific implementations may define other global properties, and each specific JavaScript embedding (client-side, server-side, etc.) will have its own extensive list of global properties.[*]
[*] See the Window object in Part IV for a list of the additional global variables and functions defined by client-side JavaScript.
Table 2-3. Other identifiers to avoid
arguments
encodeURI
Infinity
Object
String
Array
Error
isFinite
parseFloat
SyntaxError
Boolean
escape
isNaN
parseInt
TypeError
Date
eval
Math
RangeError
undefined
decodeURI
EvalError
NaN
ReferenceError
unescape
decodeURIComponent
Function
Number
RegExp
URIError