1.数据类型
/*
数据类型指的就是字面量的类型
在JS中一共有六种数据类型
String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象
其中String Number Boolean Null Undefined属于基本数据类型
而Object属于引用数据类型
\" 表示"
\' 表示'
\n 表示换行
\t 表示制表符
\\ 表示\
*/
var str = 'hello';
// str = '我说:"今天天气真不错!"';
str = "我说:\"今天\t天气真不错!\"";
str = '\\\\';
console.log(str);
console.log("str");
var str2 = "hello";
str2 = "您好";
str2 = 3;
2.Number
/*
在JS中所有的数值都是Number类型,
包括整数和浮点数(小数)
*/
var a = 123;
// a = 456.789;
var b = "123";
// a = Number.MAX_VALUE;//1.7976931348623157e+308 最大值
// a = Number.MAX_VALUE * Number.MAX_VALUE;//Infinity 最小值
a = -Number.MAX_VALUE * Number.MAX_VALUE;//-Infinity
a = Infinity; // number
a = "abc" * "bcd";//NaN (Not a Number)
a = NaN;//number
a = Number.MIN_VALUE;//5e-324
// console.log(a);
// var c = 123 + 456;//579
var c = 123456789 + 987654321;//1111111110
c = 0.1 + 0.2;//0.30000000000000004
// console.log(c);
var f = 0.1;
var g = 0.2;
console.log((parseFloat(f)*100 + parseFloat(g)*100) / 100);
3.Boolean
Boolean 布尔值
布尔值只有两个,主要用来做逻辑判断
true
- 表示真
false
- 表示假
使用typeof检查一个布尔值时,会返回boolean
*/
var bool = "false";
console.log(typeof bool);
console.log(bool);
4.Null和Undefined
/*
Null(空值)类型的值只有一个,就是null
null这个值专门用来表示一个为空的对象
使用typeof检查一个null值时,会返回object
Undefined(未定义)类型的值只有一个,就undefind
当声明一个变量,但是并不给变量赋值时,它的值就是undefined
使用typeof检查一个undefined时也会返回undefined
*/
var a = null;
// console.log(typeof a);
var b; //undefined
// b = undefined;
console.log(typeof b);
5.强制类型转换
强制类型转换
- 指将一个数据类型强制转换为其他的数据类型
- 类型转换主要指,将其他的数据类型,转换为
String Number Boolean
*/
/*
将其他的数据类型转换为String
*/
var a = 123;
a = a.toString();
a = true;
a = a.toString();
a = null;
// a = a.toString();
a = undefined;
// a = a.toString();
a = 123;
a = String(a);
a = null;
a = String(a);
a = undefined;
a = String(a);
console.log(typeof a);
console.log(a);
6.转换为Number
/*
将其他的数据类型转换为Number
转换方式一:
使用Number()函数
转换方式二:
- 这种方式专门用来对付字符串
- parseInt() 把一个字符串转换为一个整数
- parseFloat() 把一个字符串转换为一个浮点数
*/
var a = "123";
a = Number(a);
a = "789abc";//NaN
a = Number(a);
a = "";//0
a = " ";//*0
a = true;//1
a = false;//0
a = Number(a);
a = null;//0
a = undefined;//NaN
a = Number(a);
a = "123a456px";
// a = Number(a);//NaN
a = "123.456.789px";
// a = parseInt(a);//123
a = parseFloat(a);//123.456
a = true;//NaN
a = parseInt(a);
a = "198.456";//198
a = parseInt(a);
console.log(typeof a);
console.log(a);
7.其他进制的数字
var a = 123;
/*
在js中,如果需要表示16进制的数字,则需要以0x开头
如果需要表示8进制的数字,则需要以0o开头
如果要要表示2进制的数字,则需要以0b开头,但是不是所有的浏览器都支持
*/
a = 0x10;//16
a = 0xff;//255
a = 0xCafe;//51966
a = 070;//56
// a = 0b10;//2
a = "070"; //IE8 56
// a = parseInt(a);
a = parseInt(a, 8);
console.log(typeof a);
console.log(a);
</script>