数据类型
- js的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的
- js是动态语言,变量的数据类型可以变
var x=10; //x是数字型
x='lulu'; //x是字符串型
简单数据类型(基本的)
1. number 数字型
<script>
var num1 = 010; //八进制
console.log(num1);
var num2 = 0x9;//十六进制
console.log(num2);
var num3 = 0xa;
console.log(num3);
console.log(Number.MAX_VALUE);//数字型的最大值1.7976931348623157e+308
console.log(Number.MIN_VALUE);//数字型的最小值5e-324
</script>
- 在JS中八进制前面加0 ,十六进制前面加0x
三个特殊值
console.log(Number.MAX_VALUE);//数字型的最大值1.7976931348623157e+308
console.log(Number.MIN_VALUE);//数字型的最小值5e-324
console.log('a' - 10);//非数字NaN
- isNaN()
用来判断非数字,数字返回false,非数字返回true
console.log(isNaN(12));//false
console.log(isNaN('a'));//true
2. string 字符串型
- 字符串嵌套(外双内单,外单内双)
- 字符串转义符
转义符 | 解释说明 |
---|---|
\t | 缩进 |
\b | 空格 |
\n | 换行 |
- 转义字符要写到引号里
console.log('hello\nword');
- 字符串长度及拼接
var str = 'my name is lulu'
alert(str.length);//15
- ●多个字符串之间可以使用**+**进行拼接,其拼接方式为字符串+任何类型=拼接之后的新字符串
<script>
//字符串拼接
alert('你是' + '憨批' + 8);
</script>
- +号总结口诀:数值相加。宇符相连
alert(8 + 8);//16
alert('8' + 8);//'88'
<script>
//字符串拼接加强
var age = 18;
console.log('lulu今年' + age + '岁');
</script>
- 变量不要写到字符串里面,是通过和字符串相连的方式实现的
- 变量和字符串相连的口诀:引引加加 ’++‘
3. boolean 布尔型
获取变量数据类型
typeof
var num = 10;
console.log(typeof num); // number
var str = ' pink';
console.log(typeof str); // string
var flag = true;
console.log(typeof flag); // boolean
var vari = undefined;
console.log(typeof vari); // undefined
var timer = null;
console.log(typeof timer); // object
promopt取过来的值是字符型的
字面量
console.log(18);//蓝色
console.log('18');//黑色
console.log(true);//深蓝色
console.log(undefined);//灰色
console.log(null);//灰色
数字类型转换
●转换为字符串类型
toString0
var str = num.toString();
console.log(typeof str);
String0强制转换
console.log(String(num));
加号拼接字符串隐式转换
console.log(num+'');
●转换为数字型
parseInt(string) 函数(整数)
var age = prompt('年龄');
console.log(parseInt(age));
console.log(parseInt(3.14));//3 只会取整
console.log(parseInt('120px'));//去掉单位
console.log(parseInt('asd120px'));//NaN
parseFloatlstring)函数(小数)
console.log(parseFloat('3.14'));//3.14
Number(变量)强制转换函数
var str = '123';
console.log(Number(str));
js隐式转换(- * /)
console.log('12' - 0);//12 console.log('123' - '120');//3
●转换为布尔型
Boolean()
●代表空、否定的值会被转换为false .如:0. NaN. null, undefined
console.log(Boolean('')); // false console.log(Boolean(0)); // false console.log(Boolean(NaN)); // false console.log(Boolean(null)); //false console.log(Boolean(undefined)); // false
●其余值都会被转换为true