1、Number:数字型(整型和浮点型)
(1)不同的进制
八进制:数字前加0表示八进制
<script>
var num1=010;
console.log(num1);
</script>

十六进制:0x开头表示十六进制
<script>
var num=0xff;
console.log(num);
</script>

(2)最大值与最小值
<script>
console.log(Number.MAX_VALUE);
console.log(Number.MIN_VALUE);
</script>

与java中调用包装类的静态方法获取最大值最小值相似
(3)无穷
<script> console.log(Number.MAX_VALUE*3); console.log(-Number.MIN_VALUE*4); </script>
(4)NaN
console.log('zahi'-1);

(5)浮点数计算不精确的问题
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function welcome() {
console.log(0.01+0.09)
}
</script>
</head>
<body onload="welcome()" bgcolor="aquamarine">
<center>
<h1>你好</h1>
</center>
</body>
</html>

和java相似,浮点数相加会存在不精确的问题。
(6)判断是否为数字,是数字返回false,不是返回true:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function welcome() {
console.log(isNaN("as"));
}
</script>
</head>
<body onload="welcome()" bgcolor="aquamarine">
<center>
<h1>你好</h1>
</center>
</body>
</html>

(7) 函数的运用
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function test() {
alert(Math.cos(Math.PI));
}
</script>
</head>
<body bgcolor="aquamarine">
<center>
<button onclick="test()">点击这里</button>
</center>
</body>
</html>

(8)类型判断
<script>
var num=12;
console.log(typeof num);
</script>

2、字符串型
(1)类型检测与定义
<script>
var string1="12333";
console.log(typeof string1);
var string2='hello';
console.log(typeof string1);
</script>

可以用单引号也可以用双引号
(2)字符串的拼接
与java类似在字符串中“+”具有连接作用,但是要保证有字符串,如果是两个数值型的数据则进行的是相加操作
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function test() {
var String1="nihao"+"Tom";
alert(String1);
}
</script>
</head>
<body bgcolor="aquamarine">
<center>
<button onclick="test()">点击这里</button>
</center>
</body>
</html>

(3)基本函数的使用
length属性:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function test() {
var String1="nihao";
alert(String1.length);
}
</script>
</head>
<body bgcolor="aquamarine">
<center>
<button onclick="test()">点击这里</button>
</center>
</body>
</html>
获取字符串中的某个字符:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function test() {
var String1="nihao";
alert(String1.charAt(1));
}
</script>
</head>
<body bgcolor="aquamarine">
<center>
<button onclick="test()">点击这里</button>
</center>
</body>
</html>
(4)字符串转义字符
<script>
var string1="12333
hello";
console.log(string1);
</script>

3、布尔型
(1)类型测试
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function test() {
var String1=true;
alert(typeof String1);
}
</script>
</head>
<body bgcolor="aquamarine">
<center>
<button onclick="test()">点击这里</button>
</center>
</body>
</html>

(2)数学运算
<script>
var flag=true;
console.log(flag+1);
</script>

在进行数学运算的时候true的值为1
<script>
var flag=false;
console.log(flag+1);
</script>

false的默认值为0
4、undefined类型
(1)类型测试
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function test() {
var String1;
alert(typeof String1);
}
</script>
</head>
<body bgcolor="aquamarine">
<center>
<button onclick="test()">点击这里</button>
</center>
</body>
</html>

即定义了但未赋值
5、null类型
(1)类型测试
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Java Script</title>
<script type="text/javascript">
function test() {
num=null;
alert(typeof(num));
}
</script>
</head>
<body bgcolor="aquamarine">
<center>
<button onclick="test()">点击这里</button>
</center>
</body>
</html>

访问的对象不存在(未声明)。
(2)与数字和字符串的运算
<script>
var num;
console.log(num+'string');
console.log(num+1);
var str=null;
console.log(str+'string');
console.log(str+1);
</script>

6、数据类型间的转换
(1)数字转换为字符串:
<script>
var num=123;
console.log(typeof num.toString());
console.log(typeof String(num));
console.log(typeof (num+ ''));
</script>

(2)转换为数字型
<script>
var num='123';
console.log(typeof parseInt(num));
console.log(typeof parseFloat(num));
console.log(typeof Number(num));
console.log(typeof (num-0));
</script>

(3)转换为布尔型
<script> console.log(typeof Boolean(0)); console.log(typeof Boolean(NaN)); console.log(typeof Boolean(null)); console.log(typeof Boolean(undefined)); console.log(Boolean(0)); console.log(Boolean(NaN)); console.log(Boolean(null)); console.log(Boolean(undefined)); console.log('---------------'); console.log(typeof Boolean(12)); console.log(typeof Boolean('str')); console.log( Boolean(12)); console.log( Boolean('str')); </script>

代表空、否定的值会转换为false,其他的转化为true
总结:
- 声明变量用var+变量名即可,var是varible的缩写,声明之后会自动为该变量分配内存空间
- 不同的数据所占的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,定义了不同的数据类型
- js是一种弱类型的语言,不用提前声明变量的类型,在程序运行中会根据值来自动确定,例如:java语言有byte、short、int、long、float、double等,在声明变量的时候必须指定变量的类型,但是在js中一律用var指定
<script>
var uname="zhai";
console.log(uname);
var uname=123;
console.log(uname);
</script>

- typeof可以检测变量的数据类型