一,javascript变量:
使用var运算符加变量名定义 var Test;
定义的时候可以初始化 var test="11"
一次可以定义多个,类型可以不相同: var test=“11”,myInteger=15;
变量可以存放不同类型的值:var test=“11”;test=100;
变量名的定义规则:首字母必须是字母或者下划线,其它的可以是字母下划线数字。
二,基本变量类型
有五种基本类型,使用typeof可以得到变量的类型:
Undefined 变量申明没有初始化所以被赋值 undefined : var test; typeof(test): "undefined" alert(test==undefined)为true;
Null 变量为空 : var test=null; typeof(test): "obect" 为空类型为Object,需要注意
Number 整型: var test=12.5; typeof(test):"number"
Boolean 布尔性 :var test=true; typeof(test) "boolean"
String 字符型: var test=“11”; typeof(test) :"string"
需要注意的是undefined 类型 和 Null:
var test1;
alert(typeof test1);
alert(typeof test2); 都输出undefined 但是只有test2是真正没有定义的,但是typeof 并不能区分,而直接引用test2会报错:
alert(test1);
alert(test2); //报错
alert(undefined==null);为true,但是它们表示的含义不同,null表示还不存在的对象(具体的以看成是引用变量还没有指向具体的推区对象值),undefined表示变量定义为初始化。:
var test_undefine;
var test_null=null;
alert(test_undefine==test_null); 结果为true
var test_int=11;
var test_float=12.2;
alert(typeof test_int); //number
alert(typeof test_float); //number
var test_8=011; //八进制
var test_16=0x11; //十六进制
NaN:非数,Infinity:无穷大,可以使用 isFinit()判断数是否为无穷大
三,基本变量之间的转换:
1,转换成字符串:
Boolean ,Number 和String都有toString()方法,来转换成字符串
Boolean转换成字符串只有 true和false两种情况:
Number转换成字符串两种形式:
var test=15.00;
//采用默认形式:直接回数字的值
alert(test.toString()); //输出15
//采用基数模式:
alert(test.toString(2)); //输出1111
2,转换成数字:
var test=12.3;
alert(parseInt(test)); //12 转成整数
alert(parseFloat(test)); //12.3 转成浮点数
var test1="12a";
var test2="a12";
alert(parseInt(test1)); //12
alert(parseInt(test2)); //NaN
// 说明: parseInt()和parseFloat()方法在将字符串转换成整型的时候,都是从第一位开始,如果是非数字直接返回NaN不再执行后面的操作;
//如果是数字,则继续处理后面的,当遇到非数字字符的时候返回前面已经处理过的部分,所以test1返回12
3,强转
Boolean(value) Numer(value) String(value) 用这三个函数转换,将会得到一个新的值,存放由原值转换成的值,可能会得到想不到的后果:
<span style="white-space:pre"> </span>//Boolean(value):
//非空字符串,非0数字,非null对象 true
alert(Boolean("1"));
alert(Boolean(1));
alert(Boolean(new Object()));
//空串,0,null undifined false
alert(Boolean(""));
alert(Boolean(0));
alert(Boolean(null));
alert(Boolean(undefined));
//Number(value)
//与parseInt parseFloat 一样,只不过返回一个整体,如果含有非数字字符返回 NaN
var test="12.3.4";
alert(parseInt(test)); // 12
alert(parseFloat(test)); //12.3
alert(Number(test)); //NaN