Reserved Words

这个问题出自使用default。我使用了default造成了问题。所以这里总结下保留字

JavaScript Reserved Words
In JavaScript you cannot use these reserved words as variables, labels, or function names:

abstract    arguments   boolean break   byte  
case    catch   char    class*  const  
continue    debugger    default delete  do  
double    else    enum*   eval    export*  
extends*    false   final   finally float  
for    function    goto    if  implements  
import*    in  instanceof  int interface  
let    long    native  new null  
package    private protected   public  return  
short    static  super*  switch  synchronized  
this    throw   throws  transient   true  
try    typeof  var void    volatile  
while    with    yield  

Words marked with* are new in ECMAScript5

http://www.w3schools.com/js/js_reserved.asp