变量

概念

  • SJS 中的变量均为值的引用;
  • 没有声明的变量直接赋值使用,会被定义为全局变量;
  • 如果只声明变量而不赋值,则默认值为undefined
  • var 表现与 javascript 一致,会有变量提升;
  • 支持 const 与 let,与 JavaScript 表现一致。
  1. // 在SJS模块中
  2. var count = 110;
  3. var bar = 'hello swan';
  4. var undef; // undef === undefined
  5. const NAME = 'SJS';
  6. let str = 'string';

变量名

变量命名必须符合下面两个规则:

  • 首字符必须是:字母(a-zA-Z),下划线(_)
  • 剩余字符可以是:字母(a-zA-Z),下划线(_), 数字(0-9)

保留标识符

以下标识符不能作为变量名:

  1. for
  2. do
  3. while
  4. default
  5. continue
  6. switch
  7. case
  8. break
  9. var
  10. null
  11. undefined
  12. Infinity
  13. NaN
  14. void
  15. delete
  16. typeof
  17. if
  18. else
  19. true
  20. false
  21. require
  22. function
  23. arguments
  24. this
  25. return