单var形式:
| var a, b, c, d; |
|---|
以上这种用一个var关键字声明多个变量叫做单var形式。
栈:
原始值(栈stack数据):Number、Boolean、String、undefined、null;
原始值指得是基本类型的值,直接按值存放的,所以可以直接访问。栈是一个类似有底无顶的器具,栈的特点是先进后出;stack为自动分配的内存空间,它由系统自动释放。
栈存值原理:
堆:
引用值(堆heap数据):array、Object、function、…date、RegExp; 引用类型存放在堆内存中的对象,变量实际保存的是一个指针,这个指针指向另一个位置。每个空间大小不一样,根据情况开进行特定的分配
数据内存删除的不是数据本身,而是指针。访问引用类型的值时,首先从栈中获得该对象的地址指针,然后再从指针指向的堆内存中取得所需的数据。
更正图片错误:以上第四行是a3[2] = ‘a’, 并非a3[0] = 3
错误的两种类型:语法解析错误(低级错误) 、逻辑错误(标准错误,情有可原)
var a = 1 + 1 + ‘a’ + 1 + 1; // 2a11
var b = 0 / 0; // NaN;
var c = 1 / 0; // infinity;
++符号的位置区别:
例1:
| var a = 1; document.write( a ++ ); //1,这里其实机器是分两步来执行的,先打印a再执行a+1运算 document.write( a ); // 2 |
|---|
例2:
| var b = 1; document.write( ++ b); // 2,这里也是分两步执行,先执行b+1,后打印b document.write(b) // 2 |
|---|
例3:
| var a = 1; var b = a++ +1; document.write(b);// 2 |
|---|
例3:
| var a = 1; var b = a— + —a; console.log(b); // 0; |
|---|
例3:
| var a = 1; var b = —a + —a; console.log(b); // -1; |
|---|
