变量的类型:
number: 数字类型(整数和小数)
string: 字符串类型(的值一般都是用单引号或者双引号括起来)“34”
boolean: 布尔类型(值只有两个,true(真1),false(假0))
null: 空类型,值只有一个: null,一个对象指向为空了,此时可以赋值为null
undefined: 未定义,值只有一个: undefined
什么情况下结果是undefined?
- 变量声明了,没有赋值。
- 函数没有明确返回值,如果接受了,结果也是undefined。
如果一个变量的结果是undefined和一个数字进行计算,结果: NaN, not a number, 不是数字,也没有意义。
null表示一个空,变量的值如果想为null,必须手动设置
var a=100; //存放的是数字
var a=“哈哈哈哈”; //存放的是字符串
console.log(a); //输出变量a
console.log(b); //输出变量b
变量里能够存储数字、字符串,变量会自动根据存储的东西类型不同来决定自己的类型。
数值型
number
如果一个变量中存放了数字,那么这个变量就是数值型:
var a=100; //定义了一个变量a,并且赋值100
console.log(typeof a); //输出a变量类型
typeof表示“某种类型”,语法:typeof变量
在Javascript中,只要是个数,就是数值型,无论整浮、无论大小、无论正负,都是number类型。
浮就是浮点数,就是“小数”,术语叫做“浮点数”
数值范围:
最小值:Number.MIN_VALUE, 这个值为5e-324
最大值:Number.MAX_VALUE, 这个值为1.79769313…
无穷大:Infinity
无穷小:-Infinity
数值判断:
NaN: not a number
NaN与任何值都不相等,包括它本身
isNaN: is not a number
数字类型:
无论是整数还是小数都是数字类型
不要用小数验证小数
不要使用NaN判断是不是NaN,应该使用isNaN(值或者变量)
表示十进制就是正常的数字
表示八进制:以0开头
表示十六进制:以0x开头
字符串型
可以使用单引号,也可以使用双引号
string
var a=“abcde”;
var b=“哈哈哈哈”;
var c=“123456”;
var d=""; //空字符串
console.log(typeof a);
console.log(typeof b);
console.log(typeof c);
console.log(typeof d);
字符串的拼接:
1.使用+可以把多个字符串放在一起形成一个字符串
var str1="您好";
var str2="我好";
console.log(str1+str2);
console.log("哈哈"+"嘎嘎"+"嘿嘿");
2.只要有一个是字符串,其它的是数字,那么结果也是拼接,不是相加。
3.如果有一个是字符串,另一个不是字符串,使用-号,此时会发生计算。
var str1="10";
var str2=5;
//浏览器帮助我们自动的把字符串类型转成了数字类型,这种方式叫隐式转换
console.log(str1-str2);
连字符和+
键盘上+在JS中有两层含义:
(1)连字符
(2)加
console.log(“我”+“爱”+“你”); //连字符,把三个独立的汉字连接在一起了
console.log(“我+爱+你”); //原样输出
console.log(1+2+3); //输出6
如果加号两边都是数值,此时是加,否则就是连字符。
例1:
<script type="text/javascript">
var a = "1";
var b = 2;
console.log(a + b);
</script>
输出的是12
例2:
var a = 1; //数字
var b = 2; //数字
console.log(a + b);
输出的是3
例3:
var a = 234234;
var b = 234323112;
console.log("a+b"); //由于加上了引号,所以就表示原样输出
输出的是a+b
例4:
var a = 1;
var b = 2;
console.log("a" + b); //"a"不是变量!所以就是"a"+2 输出a2
其它类型转数字类型的三种方式:
1.parseInt();//转整数
console.log(parseInt("10"));//10
console.log(parseInt("10asdfg"));//10
console.log(parseInt("g10"));//NaN
console.log(parseInt("1asf"));//1
console.log(parseInt("10.98"));//10
console.log(parseInt("10.98asdd"));//10
2.parseFloat()//转小数
console.log(parseFloat("10"));//10
console.log(parseFloat("10asdfg"));//10
console.log(parseFloat("g10"));//NaN
console.log(parseFloat("1asf"));//1
console.log(parseFloat("10.98"));//10.98
console.log(parseFloat("10.98asdd"));//10.98
3.Number();//转数字
console.log(Number("10"));//10
console.log(Number("10asdfg"));//10
console.log(Number("g10"));//NaN
console.log(Number("1asf"));//NaN
console.log(Number("10.98"));//10.98
console.log(Number("10.98asdd"));//NaN
其它类型转字符串类型:
1 .toString()
var num=10;
console.log(num.toString());//字符串类型
2 String();
var num1=20;
console.log(num1);
如果变量有意义调用.toString()使用转换,如果变量没有意义使用String()转换
var num2;
console.log(num2.toString());
var num3=null;
console.log(String(num3));