- var num = 10;
- //typeof用来获取检测变量的数据类型
- //语法 console.log(typeof +数据变量);
- 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
- //prompt 取过来的值是 字符型
- var age = prompt('请输入你的年龄');
- console.log(age);
- console.log(typeof age);
-
-
-
- //字面量判断类型
- console.log(18);
- console.log('18');
- console.log(true);
- console.log(undefined);
- console.log(null);
Number.MAX_VALUE
1.79769331348623157e+308
如果使用NUmber表示的数字超过了最大追,则会返回一个
Infinity 表示正无穷
-Infinity 表示负无穷
使用typeof检查Infinity也会返回Number
Nan 是一个特殊的数字 表示Not A Number
使用typeof
Number.MIN_VALUE 大于零的最小值
5e-324
- a = Number.MAX_VALUE*Number.MAX_VALUE;
-
- a = "abc" * "bcd";
-
- a = Nan;
-
- //console.log(typeof a);
-
- a = Number.MIN_VALUE;
-
- console.log(a); //5e-324
-
- var c = 12372484 + 45787876;
在JS中整数的运算基本可以保证精确
如果使用js进行浮点元素 可能得到一个不精确的结果
所以千万不要使用JS进行对精确度要求比较高的运算
- var c = 0.1 + 0.2;
-
- console.log(c);
-指将一个数据类型强制转换为其他的数据类型
- 类型转换主要指将其他的数据类型转换为
String Number Boolean
将其他的数据类型转换为String
-调用被转换数据类型的toString()方法(被转换类型.toString)
-该方法不会影响到原变量,他会将转换的结果返回
-但是注意,null和undefined这两个值没有tostring()方法
如果调用他们的方法,会报错
- 调用String()函数并将转换的数据作为参数传递给函数(直接写String)
- 使用String()函数做强制类型转换时
对于Numberu和Boolean实际上就是调用toString()
但是对于null和unfinerd 就不会调用tostring()
它会将null 直接转换伟“null” 同理
- var a = 123;
-
- //调用a的toString()方法+
-
- //调用xxx的yyy()方法,就是xxx.yyy()
- //var b = a.toString();
- a = a.toString();
-
- a = true;
- a=a.toString();
-
- console.log(typeof b );//number
- console.log(b);//123
-
-
- a = null;
- //a = a.toString();报错
-
- a = undefined;
- //a = a.toString();报错
-
- a = 123;//参数
-
- //调用String()函数,来将a转换为字符串
- a = String(a);
-
- console.log(typeof a);//number
- console.log(a);//123
- //1.把数字型转换为字符串型 tostring()
- var num = 10;
- var str = num.toString();
-
- console.log(str);
- console.log(typeof str);
-
- //2.我们利用String(变量)
- console.log(String(num));
-
- //3.利用 + 拼接字符串的方法实现转换效果 隐式转换
- console.log(num + '');
-
- var age = prompt('请输入您的年龄');
- //1.parseInt(变量) 可以把字符型的转换为数字型 得到是整数
- console.log(paraseInt(age)); //3 取整
- console.log(paraseInt('3.14')); // 3 取整
- console.log(parseFloat('120px')); //
使用number()函数
-字符串--> 数字
1.如果是纯数字的字符串 则直接将其转换为数字
2.如果字符串内有非数字的内容,则转换为NaN
3.如果字符串中是一个空串或者是一个全是空格的字符串,则转换为0
-布尔-->数字
true 转成1
flase 转换0
-NUll --> 数字 0
-undefined --> 数字NaN
-这种方式专门用来对付字符串
-parseInt()把一个字符串转换为一个整数
-parseFloat()把一个字符串转换为一个浮点数
- //调用Number()函数来将a 转换为Numberk类型
- a = Number(a);
-
- a = true;
- a = Number(a);
-
- a = null;
- a = Number(a);
-
- a = undefined;
- a = Number(a);
-
- a = "123px456";
- //调用parseInt()函数将a 转换为Number
- /*
- parseInt()可以将一个字符串中的有效的整数内容去出来
- 然后转化为Number
-
-
- */
- a = parseInt(a);
parseFloat()作用和parseInt()类似,
不同的是它们可以获得有效的小数
- a = "123.456px"
- a = parseFloat(a);
如果对非string使用parseint()或parseintfloat()
它会将其转换为string 然后在操作
- a = 198.23;
- a = parseInt(a);
-
-
- console.log(typeof a );
- console.log(a);
- var a = 123;
-
- /*
-
- 在JS中,如果需要表示16进制的数字,则需要以0x开头
- 如果需要表示八进制的数字,则需要以0开头
-
-
- */
- //十六进制
- a = 0x10;
- a = 0xff;
- a = 0xcafe;
-
- //八进制数字
- a = 070;
-
- //二进制数字
- //a = 0b10;
-
-
- a = "070";
-
- //可以在parseInt()中传递第二个参数,来指定数字的进制
- a = parseInt(a,8);
-
- console.log(typeof a);
- console.log(a);
运算符也叫操作符
通过运算符可以对一个或多个值进行运算
比如typeof 就是运算符 可以来获得一个值的类型
它会将该值的类型以字符串的形式返回
number string boolean undfined object
当对非number类型的值进行运算时,会将这些值转换number然后在运算
任何值和NaN做运算都得是NaN
+ 加法运算 将结果返回
+ 如果对两个字符串进行加法运算,则会做拼串
会将两个字符串拼接为一个字符串,然后返回
任何的值和字符串做加法运算,都会先转换为字符串,然后和字符串做拼串的操作
- 可以对两个值尽心减法运算
*
/
%
%取余数
- var a = 123;
-
- var result = typeof a ;
-
- //console.log(typeof result);
-
- //result = a + 1 ;
-
- result = true + 1;
-
- result = true + false;
-
- result = 2 + null;
-
- result = 2 + NaN;
-
- result = "123" + "456";
-
-
- var str = "锄禾日当午,"+
- "汗滴禾下土,"+
- "谁之盘中餐,"+
- "粒粒皆辛苦";
-
- result = 123 + "1";
-
- result = true + "hello";
//任何值和字符串相加都会转换为字符串,并做拼串操作
我们可以利用这一特点 来将一个任意的数据类型转换为string
我们只需要为任意的数据类型+一个"",即可将其转换为 string
这是一种隐士的类型转换,由浏览器自动完成 实际上它也是调用string()函数
- var c = 123;
-
- //c = c + "我是来把c变成字符串的";
-
- c = c + "";
-
- //console.log(result);
-
- //console.log(typeof c);
- //console.log(c);
- //console.log("c = "+c);//输出c的值
-
- result = 1 + 2 + "3";//33
-
- result = "1" + 2 + 3;//123
-
- result = 100 - 5;
-
- result = 100 - true;
-
- result = 100 - "1";
-
- result = 2 * 2;
-
- result = 2 * "8";
-
- result = 2 * undefined;
-
- result = 2 * null;
-
- result = 1 / 2;
//任何值做- * / 运算时都会自动转换为number
我们可以通过为一个值-0*1/1来将其转换
我们可以利用这一特点做隐式的类型转换
可以通过一个值-0*1/1来将其转换为number
原理和number()函数一样,使用起来更加简单
- var d = "123";
-
- d = Number(d);
-
-
- d = d - 0;
-
- // console.log(typeof d);
- // console.log(d);
-
- result = 9 % 3;
-
- result = 9 % 4;
-
-
-
- console.log("result ="+result);
+ 正号
-正号不会对数字产生影响
- 负号
-负号可以对数字进行负号取反
对于非nymber 的值
先转换为number,然后在运算
可以对一个其他的数据类型使用+,来将其转换为number
它的原理和number()函数一样
- var a = 123;
-
- a = -a ;
-
- a = true;
-
- a = -a ;
-
- a = true;
-
- a = "18";
-
- a = +a;
-
- // console.log("a = " +a);
- // console.log(typeof a );
-
- var result = 1 + +"2" + 3;
-
- console.log("result = " +result);