要求
1.变量名必须以 英文字母 _ $ 开头。
2.变量名可以包括英文字母、_、$ 数字。
3.不可以用系统的关键字作为变量名字。
类型
不可改变的原始值(栈数据)
Number,String,Boolean,undefined,null
引用值(堆数据)
array,object,function
特点
解释性语言,只需要用var就能定义任一变量,(定义数字为浮点数)
stack(栈):原始值存在的地方
heap(堆):引用值存的地方
<script>
var a;
a = "adsdfsadf" + 1 + 1;
document.write(a);
</script>
与c语言不同的是a变量字符串加数字得出的结果是字符串加数字,即加减中字符串不转为ascall码
<script>
var a=2;
document.write(a+1+" "+1);
</script>
输出结果为3空格1
<script>
var arr;
var arr1;
arr = [1,2,3];
arr1 = arr;
document.write(arr);
document.write(arr1);
</script>
arr1 = arr 相当于将arr数组的地址赋值给arr1,此时改变arr也会改变arr1。
<script>
var arr;
var arr1;
arr = [1,2,3];
arr1 = arr;
arr = [1,2];
document.write(arr);
document.write(arr1);
</script>
arr1 = arr之后再arr=[1,2];相当于改变了arr的地址。但arr1指向的地址不变。