javascript 可以处理各种数据类型,可以将数据保存在计算机的内存当中,以便在代码中反复使用.
一.JavaScript中的数据类型
javascript中常用的几种数据类型有:数值,文本和布尔类型,对象类型在后面再谈.
1.1 数值数据
数值数据有两种形式:
整数:比如145且可正可负,在javascript中,整数的取值范围:-2的53次方 - 2的53次方;
小数:比如1.23,也称为浮点数.
1.2 文本数据
包含一个或者多个字符的文本称为字符串.把文本放在 ' '或者" "中,javascript就不会把它当做代码,而是当做文本.
' '中不能包含' ,同理," "中也不能包含". 但是有一种情况可以就是在' 或者 "前加转义字符 \,那么系统就会认为它只是一个单引号或者双引号.
1.3 布尔数据
是与否 , true or false .
二.变量-存储在内存中的数据
变量非常适合保留临时数据,变量的生存期有限.每个变量都有个名字,区分大小写,然而某些单词或字符不能做变量,称为系统的保留字.变量中可以使用数字,但是不能使用数字开头.
2.1 创建变量并赋值
在使用变量之前,应该使用var来声明变量.声明了变量之后,可以用来存储任何类型的数据.
使用 等号(=) 将数据放到变量的过程被称为是变量赋值.因而 = 被称为 赋值运算符.
var myvariable;
此时,这个变量是undefined.因为对于javascript引擎而言,变量声明仅代表变量的存在,并没有保存任何数据. undefined是一个基本值, 还可以用这个值来进行比较.
2.2 用其他变量的值为变量赋值
var fir= '十点';
var sec ;
sec = fir ;
fir = '九点';
alert( fir +'和'+ sec );
声明了两个变量,将fir的值赋给sec, fir又被赋了一个新值,但是sec并没改变.最后alert出来的结果是 : 九点和十点. 这表明fir将值赋给sec后,sec拥有了自己的数据副本.
2.3使用数据-计算数值及基本字符串操作
2.3.1 数值计算
javascript支持各种运算,加减乘除. 运算符号为 : + - * /. 这些符号称为运算符,执行某种运算或操作, 并返回一个结果.
可以有三种运算方式: 例如计算, 10/2
第一种:var a = 10, b = 2;
var c = a/b; alert(c)
第二种:var d ; d = 10/2; alert(d);
第三种: alert(10/2);
一般使用第一种情况,变量与变量之间进行计算.
(++)与(--)表示变量加1 和变量减一,可以是 a++(在最后再执行自加运算) ,也可以是 ++a(最先执行自加运算).
+=,这个运算符用于将某个变量的值加上一个数, 例如, myvar += 6 ,相当于
myvar = myvar + 6;
2.3.2 运算符的优先级
还有一个重要的问题, 运算符的优先顺序, 加法和减法的优先级相同,但是弱于乘法和除法,乘法和除法的优先级又是相同的.
下面看一个例子:
var deg = prompt("输入需要计算的值",50);
var degc;
degc = 5/9 * (deg - 32);
alert(degc);
最后运行的结果是:
初始化变量 deg时,并没有为它赋字面值,而是用了prompt()函数提示用户输入一个值.
prompt()函数的用法与alert()类似,不仅可以显示信息,还包含一个供用户输入数值的文本框.这个值将保存在变量 deg中.prompt()函数的返回值是一个文本字符串,把它用作数值时,javascript将它隐式转换成数值.
prompt函数包含两个信息:
要显示的文本,通常用于提醒用户输入
第一次显示提示对话框时,在输入框中包含的默认值
2.3.3 基本的字符串操作
拼接字符串非常简单,使用+运算符.
对于数字+运算符把两个数加在一起,而对于字符串,+运算符将把两个字符串连在一起.
var content = 'hello '+'tom';
现在content变量中存储的字符串是 'hello tom'
2.3.4 字符串与数值的混合操作
例如:
alert("my age is "+101);
弹窗显示: my age is 101.
2.4 数据类型转换
数据类型转换是很重要的:
1+2 +"abc" 得到字符串 12abc, '22'+'18' 得到的是'2218'.
有两个可以将字符串转换为数值的函数: parseInt()和parseFloat().
parseInt()函数,它能将字符串转换为整数. 它解析字符串的每一个字符,检查该字符是不是一个有效数字.如果是,parseInt()函数将使用这个数字来生成字符串对应的数值,否则就停止转换,并返回之前转换的数值.
例如: parseInt('123'),javascript将把字符'123'转换为数值123.
而 parseInt('123abc'),javascript也将返回数值123. 当解析到字母a,将认为字符串的数字部分已经结束,并把 123作为字符串'123abc'的整数部分.
parseFloat()函数的工作机制与parseInt()类似,只是它返回浮点数,并把小数点视为数值的一部分进行解析.