1 赋值
var a = 100;
var b = 200;
document.write(a);
2 运算
var a = 10;
var b = 20;
var c;
c = a + b;
document.write(c);
一、不可改变的原始值(栈数据)
Number/String/Boolean布尔/Undefined/Null 放在stack栈(先进后出)
// var a = -123.2;
// document.write(a);
// var b = "abc字符串";
// document.write(b);
// BOOlean包含2个属性
// var a = true;
// var b = false;
// document.write(b);
// var b = undefined;
// document.write(b);
// var b = null;
// document.write(b);
// console.log(typeof(b));类型:object
// var arr = [1,3];
// var arr1 = arr;
// arr.push(2);
//.push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
// document.write(arr1);结果:arr1=1,3,2
二、引用值
array/Object/function/..../date regExp 放在heap堆
// 引用值和原始值不同:赋值形式
// 1.错误分两种{低级错误--语法解析错误(直接不执行)、高级错误--逻辑错误(执行到错误的地方)
例子// var a = 10;
// var b = 20;
2.赋值的顺序,自右向左;计算的顺序,自左向右
例一
// var a =10;
// var b = ++a - 1 + a++;
// document.write(b + "" + a);
(结果a = 12;b = 21;)
例二
var a = (10 * 3 - 4 / 2 + 1) % 2,
// b = 3;
// b %= a + 3;
// document.write(a++);
// a++先打印a再++,所以a是1
// document.write("<br>");
// document.write(--b); --b=2
例三 调换a和b的位置
// var a = 123;
// var b = 234;
方法1
// a = a + b;
// b = a - b;
// a = a - b;
方法2
// var c = a;
// a = b;
// b = c;
例四
// var a = 1;
// var b = a ++ + 1;
// document.write(a);
// document.write(b);
(结果a= 2;b= 2)