""
或 ''
包围(引用),而在脚本中直接书写的字符的序列。_
'(下划线),数字和全角文字组成。但是不能以数字开头。例:
ampan // OK
123a // 因为以数字开头 NG
_asdf // 允许以下划线开头,所以 OK
continue // 这个是关键字 OK
全角文字 // 把全角文字当作“独立语素” OK
break continue const catch class case
debugger default delete do extends export
enum else function finally false for
global getter goto incontextof Infinity
invalidate instanceof isvalid import int in
if NaN null new octet protected property
private public return real synchronized switch
static setter string super typeof throw
this true try void var while with
>>>= >>> >>= >> >= > <<= <=
<-> << < === == => = !== != !
&&= && &= & ||=
|| |= | ... . ++ += + -= -- - *=
* /= / \= \ %= % ^= ^ [ ] ( ) ~
? : , ; { } # $
++
不会作为 +
和 +
,而是作为 ++
这样一个整体的符号被分解出来。在想要单独的书写 +
和 +
的场合, +
和 +
之间需要加入一个空格等字符。.
(小数点)开始的记号。TJS2
中按照以下形式来识别。例:
0
3.1
342.3
1
e
或者 E
来指定以10为底的 指数を。e
和 E
的意义是相同的。例:
1e-3 // 110-3
3.4e10 // 3.41010
9.3E-2 // 9.310-2
0x
或者 0X
来指定 16进制数。0x
和 0X
的意义是相同的。例:
0x1234
0Xff
0x3f33
0b
或者 0B
来指定 2进制数。例:
0b0100
0B0010100010100001
0
的数值会被按照 8进制数 来处理。例:
01234
033
例:
0b1.1 // 表示 1 + 1/2 即 1.5
0x2.f // 表示 2 + 15/16 即 2.9375
0x1p8 // 表示 1 × 28 即 256.0
""
(双引号) 或者 ''
(单引号)包围的字符序列。使用单引号和者双引号都可以。""
(双引号) 中的 '(单引号) ,以及 ''
(单引号)中的 "
(双引号) 和\
不需要转义。例:
"this is a string."
'this is also a string.'
"Can't use without a quotation."
\
(反斜杠) 具有特殊的意义。跟在 \ 的字符的意义会改变。跟在 \ 后面的这种特殊的指定方式被称为 转义(escape) 。\\ : \ 本身
\' : ' (单引号)
\" : " (双引号)
\a : BEL (铃声)
\b : BS (退格)
\f : FF (换页)
\n : LF (换行)
\r : CR (回车)
\t : HT (水平制表符)
\v : VT (垂直制表符)
\xH : H=16 进制数 ( H 表示字符编码 )
\XH : 同上
\xH
的形式中,H 指定为 16 进制数的话,那个 16 进制数会被当做字符编码,\xH
会被替换为该编码对应的字符。例:
'Can\'t help' ( 这里使用了 \' 来书写单引号 )
"\x1234" ( 宽字符的字符编码为 0x1234 的字符 )
\xH
的形式中,只要 \x 的后面跟的是 16 进制数中的字符 ( 0~9 、A~F、a~f ) 就会别识别为 H 的部分。但是,在宽字符的大小为 16bit 的环境中最多识别 4 个,宽字符的大小为 32bit 的环境中最多识别 8 个字符 ( Windows中是 16bit、Linux 和 Solaris 中是 32bit )。"\x22An Apple"
写的话,会识别出开头的 \x22A 。为了避免这种情况,请像 "\x22" "An Apple"
这样分成多个字符串连续书写。TJS 中,像这种字符串常量连续出现的情况会被识别为一个字符串。例:
@"1+2=&1+2;" ( 会变成 "1+2=3" 的字符串 )
@"变量 f 的内容是 &f; " ( 变量 f 的内容在 &f; 的位置展开 )
@"函数 func 调用的结果是 &func(); " ( 有效的tjs表达式都可以写在 & 和 ; 之间 )
@"函数 func 调用的结果是 ${func()} " ( 同上 )
@"true \&\& false 是 &true && false;" ( & 的前面写上 \ 的话, & 就不会被展开 )
<%
和 %>
包围,中间可以书写字节数据。例:
<% 00 01 02 03 %>
<% ff ff ff 00 04 0f ff 30 %>
/
和 /
包围、中间可以填写匹配模式字符串。例:
/[0-9]-[0-9]-[0-9]/
/^;\s*(.*?)\s*=(.*)$/
/start(.*?)end/gi