照着视频“闭包-封装”这个例子,在浏览器控制台里练习,export总是会被提示“Unexpected reserved word”这个错误。
如题,大家遇到了没有
如题,大家遇到了没有
2015-05-14
因为 export是ECMAScript 5保留的关键字
就像var 是一个关键字一样,但export 在当前的语言版本中并没有使用,可能在未来的版本中会使用到。
这些保留关键字包括:
class const enum export extends import super
你可以假设一下自己写了
var var = {};
会报错是自然的,但因为浏览器版本的不一致,在一些低版本的浏览器中,可能不会报错。
把 export 改为别的,例如 myexport 就不会出错了。
(function(){ var _userId = 23492; var _typeId = 'item'; var myexport = {}; function coverter(userId){ return +userId; } myexport.getUserId = function(){ return coverter(_userId); } myexport.getTypeId = function(){ return _typeId; } window.myexport = myexport; }()); myexport.getUserId(); myexport.getTypeId(); myexport._userId; myexport._typeId; myexport.coverter;
你可以参考:
Michael[tm] Smith非官方的HTML版本说明(HTML 形式的英文版 ECMAScript 5 )
官方ECMAScript语言规范(PDF下载,3.11M,查看第7.6.1.2章 Future Reserved Words)
举报