Day3-变量
5.1 整体感知
初中的时候,学习了一个学科“代数”,x、y、z、a、b、c。
计算机的程序中,也是有这样的量,就是用字母来表示数字、字符串等其他东西的,称为“变量”。
1 var a = 100; 2 console.log(a); |
var a = 100;
这就是一个固定的写法,就是语法。也就是说,我们使用var来定义一个变量。
var就是英语“variant”变量的缩写。后面要加一个空格,空格后面的东西就是“变量名”,我们可以给变量任意的取名字。
var就是一个关键字,所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开。
等号表示赋值,会将等号右边的值,赋给左边的变量。
5.2 变量的命名规范
变量名有命名规范:
只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。
下列都是非常正确的变量命名:
1 var haha = 250; 2 var xixi = 300; 3 var a1 = 400; 4 var a2 = 400; 5 var abc_123 = 400; 6 var $abc = 999; 7 var $o0_0o$ = 888; 8 var $ = 1000; 9 var _ = 2000; 10 var ________ = 3000; |
下列都是错误的命名:
1 //var a-1 = 1000; //不能有怪异符号 2 //var a@ = 2000; //不能有怪异符号 3 //var 2year = 3000; //不能以数字开头 4 //var a¥ = 4000; //不能有怪异符号 5 //var a*#$#$@ = 5000; //不能有怪异符号 6 //var a b =300; //不能有空格 |
下列的单词,叫做保留字,就是说不允许当做变量名,不用记:
abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto
implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile
大写字母是可以使用的,并且大小写敏感。也就是说A和a是两个变量。
1 var A = 250; 2 var a = 888; |
5.3 变量的定义和赋值
变量用var来定义。只有定义之后,这个变量才能够使用。
比如,我们不设置变量,直接输出:
1 <script type="text/javascript"> 2 console.log(a); 3 </script> |
正确:
1 var a; // 定义 2 a = 100; //赋值 3 console.log(a); //输出100 |
有经验的程序员,会把定义和赋值写在一起:
1 var a = 100; //定义,并且赋值100 2 console.log(a); //输出100 |
在JavaScript中,永远都是用var来定义变量,这点C、Java等等既然不同。
赋值用等于号,表示等号右边的值,赋给左边的变量。
5.4 区分变量和字符串
1 var a = 100; 2 console.log("哥们,字母表里面第一个字母是啥?"); 3 console.log("a"); //输出字母a |
这个a在引号里面,所以就是一个字符串“a”了,而不是一个变量。换句话说,一个变量如果想输出保存的内容,那么就不能加引号。
六、变量的类型
1 var a = 100; //存放了一个数字 2 var b = "传智播客"; //存放了一个字符串 3 console.log(a); //输出变量a 4 console.log(b); //输出变量b |
变量里面能够存储数字、字符串。变量会自动的根据存储的东西类型不同,来决定自己的类型。
也就是说变量有类型。
6.1 数值型
如果一个变量中,存放了数字,那么这个变量就是数值型的。
1 var a = 100; //定义了一个变量a,并且赋值100 2 console.log(typeof a); //输出a变量的类型 |
typeof表示“某某的类型”
语法:
1 typeof 变量 |
JavaScript种,只要是个数,那么就是数值型的,无论整浮、无论大小、无论正负,都是number类型的。
“浮”就是浮点数,就是“小数”,术语叫做“浮点数”。
1 var a = 100; //定义了一个变量a,并且赋值100 2 var b = 234234234324324324; 3 var c = 3.234234234324324; 4 var d = -23423432432432432; 5 var e = -34.3423423432; 6 var f = 0.324234234; 7 8 console.log(typeof a); 9 console.log(typeof b); 10 console.log(typeof c); 11 console.log(typeof d); 12 console.log(typeof e); 13 console.log(typeof f); |
就业班中,老师还将给大家拓展数值型的东西,今天来说先到这里。
6.2 字符串型
string就是字符串型的意思。
1 var a = "abcde"; 2 var b = "传智播客"; 3 var c = "123123"; 4 var d = "哈哈哈哈哈"; 5 var e = ""; //空字符串 6 7 console.log(typeof a); 8 console.log(typeof b); 9 console.log(typeof c); 10 console.log(typeof d); 11 console.log(typeof e); |
6.3 连字符和加号
键盘上+在JS中有两层含义:
1) 连字符
2) 加
1 console.log("我" + "爱" + "你"); //连字符,把三个独立的汉字,连接在一起了 2 console.log("我+爱+你"); //原样输出 3 console.log(1+2+3); //输出6 |
同样是加号,有时候表示的是连字符,有时候表示的是加号。什么时候是连字符?什么时候是加呢?
如果加号两边都是数值,此时是加。否则,就是连字符。
1 <script type="text/javascript"> 2 var a = "1"; 3 var b = 2; 4 console.log(a + b); 5 </script> |
1 var a = 1; //数字 2 var b = 2; //数字 3 console.log(a + b); |
1 var a = 234234; 2 var b = 234323112; 3 console.log("a+b"); //由于加上了引号,所以就表示原样输出 |
1 var a = 1; 2 var b = 2; 3 console.log("a" + b); //"a"就不是变量了!所以就是"a"+2 输出a2 |
1 var a = 123; 2 var b = "123"; 3 console.log(a + "b"); |
七、变量值的传递
语句:
1 a = b; |
将等号右边的值,赋给左边的变量;等号右边的变量,值不变。
把b的值赋给a,b不变。
案例:
1 var a = 1; //定义a,并且赋值1 2 var b = 2; //定义b,并且赋值2 3 a = b; //就是将b的值给a,b的值不变。所以a就是2了,b是2不变。 4 console.log(a); //2 5 console.log(b); //2 |
1 var a = 1; 2 var b = 2; 3 b = a; //将a的值给b,a的值不变,所以b就是1了,a还是1不变 4 console.log(a); 5 console.log(b); |
1 var a = 1; //定义a变量,值是1 2 var b = 2; //定义b变量,值是2 3 a = b + 3; //将5赋值给a,b的值还是2。 4 b = a + 4; //将9赋值给b,a的值还是5 5 console.log(a); //5 6 console.log(b); //9 |
1 //a b c 2 var a = 1; //1 3 var b = 2; //1 2 4 var c = 3; //1 2 3 5 a = b + c; //5 2 3 6 b = c - a; //5 -2 3 7 c = a * b; //5 -2 -10 8 console.log(a); 9 console.log(b); 10 console.log(c); |
1 //a b c 2 var a = 1; 3 var b = 2; 4 var c = 3; //1 2 3 5 a = a + b; //3 2 3 6 b = b + a; //3 5 3 7 c = c + b; //3 5 8 8 console.log(a); //3 9 console.log(b); //5 10 console.log(c); //8 |
1 //a b 2 var a = "1"; 3 var b = 2; //"1" 2 4 a = a + b; //"12" 2 5 b = b + a; //"12" "212" 6 console.log(a); //输出12 7 console.log(b); //输出212 |
1 //a b 2 var a = "1"; 3 var b = 2; 4 a = b + a; //"21" 2 5 b = b + a; //"21" "221" 6 console.log(a); //21 7 console.log(b) //221 |