# 变量

QJS 中的变量均为值的引用

## 语法规则

- var 与 javascript 表现一致，会有变量提升。
- 支持 let const , 规则和 javascript 一致。
- 没有声明的变量直接赋值使用，会被定义为全局变量。

```js
var num = 1
var msg = 'hello world'
var i // i === undefined
const n = 100
let k = 2
```

## 变量名规则

只能由字母（a-zA-Z）、数字（0-9）和下划线（\_）构成，并且只能以字母或下划线开头

## 保留标识符

与 Javascript 一致，以下标识符不能作为变量名：

```bash
arguments
break
continue
case
delete
do
default
void
typeof
null
undefined
NaN
Infinity
var
if
else
true
false
require
this
function
return
for
while
switch

```
