JS-变量和运算操作符
2018-05-25 本文已影响0人
ThiagoChang
1. 命名
- 变量必须以英文字母、_ 或者&开头
- 变量可以包括英文字母、数字、$、_
- 不可以用系统的关键字(如var)、保留字
2. 值类型——数据类型
- 原始值(存入stack,栈)(栈:first in, last out)
Number:var = 1;
Boolean: var c = false; var d = true;
String: var b = 'abc'; (双引或单引)
Undefined: var e = undefined; (如果没有给e赋值,打印e就会显示undefined)
Null:f = null; (占位值,空值) - 引用值(存入heap,堆)
array: var arr = [1, 2, 3, false, 'abc']
object
function
date
RegExp
3.错误
1.低级错误(句法错误,会导致程序完全不可执行)
var a = 10; document.write(a) : var b = 20; document.write(b);
2.逻辑错误(标准错误,情有可原)
var a = 10; document.write(a); document.write(b); document.write('20');
执行到第三行代码,程序会出错,不会再继续进行第四行
一个script代码块里的错误不会影响另外一个script代码块的执行
4. 运算操作符
- '+'
*可用于数学运算、字符串连接
*任何类型的数据+字符串都会等于一个字符串 - '%'取模(取除法后的余数)
- '++'
var a = 10; a = a + 1;
相当于:
var a = 10; a++;
a++给原来a变量加1,在赋值给a
'--'和 '++'同理;
'++'若放在变量前面,则先执行'++'运算(先用++给变量赋新值,再执行本行语句);若放到变量后面,则后执行'++'运算(先不改变变量的值,而是先执行本行,再赋新值给变量,再执行下一句)
var a = 10; document.write(a++); document.write(a);
输出为:
1011
(会先打印a,再重新给a赋值;之后第三行在打印a的新值)
var a = 10; document.write(++a); document.write(a);
输出为:
1111
eg.:
var a = 10; var b = ++a - 1 + a++; document.write(b + " " + a)
输出为:
21 12
工作原理:
第一行:++a将a变为11,之后的‘a++’中的a已经变为11;
第二行:再进行之后的‘++’运算,‘a++’变为12;
赋值的顺序自右向左;计算的顺序自左向右。
- +=符号
var a = 10; a = a + 10;
相当于
var a = 10; a += 10;
同理:
var a = 10; a += 10 + 1;
相当于
var a = 10; a = a + 10 + 1;
相似的有+=, -=, *=, /=, %=
a = 1;
a %= 10; 这一行的意思是把a%10的值赋值给a