javascript 基础(2)

 强制转换: Boolean()


数字零转为布尔值为false。非零数字转为布尔值为true。
空字符串转为false,非空字符串转为true。
null和undefined转为布尔值为false

 

parseInt()

动能:会试图将其收到的任何输入值(通常是字符串)转换成整数类型,如果转换失败就返回NAN。

转换规则:如果第一个非空白字符(空格、换行、tab)是数字或者正负号则开始转换,直到碰到一个非数字字符停止转换。如果第一个非空白字符不是数字或者正负号,转换失败,结果是NAN。

 1 var tmp = Boolean(1);//true
 2 var tmp = Boolean(0);//false
 3 var tmp = Boolean(-1);//true
 4 
 5 var tmp = Boolean("");//false
 6 var tmp = Boolean("hello");//true
 7 
 8 var tmp = Boolean(null);//false
 9 var tmp = Boolean(undefined);//false 
10 alert(tmp); 

 

 

1、布尔值true=>1 false=>0
2、字符串纯数字的字符串 对应的数字,否则NaN
3、特殊数据类型null 0 undefined NaN
parseInt()兼容Number的功能,取整
parseFloat()取浮点数 带小数的数字 |

 1 var tmp = Number(true); //1
 2 var tmp = Number(false) ;
 3 var tmp = Number("20a");
 4 var tmp = Number(null); //0
 5 var tmp = Number (undefined); NaN
 6 
 7 var tmp = Number("20a"); //NaN
 8 var tmp = parseInt("20a"); //20 
 9 
10 / var tmp = parseInt(3.14); //3

 

一元运算符:

[注]只能操作一个值的运算符,叫做-元运算符。

a++;表达式值:++后置,先取a的值,然后再进行+1操作。

++a ;表达式值:++前置,先进行+1操作,然后再取a的值。,
[注]上述的两个表达式都是进行+1操作。

 1 a-- ;
 2 -- a;
 3 var a=5;
 4 alert(a++);//5
 5 alert(a);//6
 6 
 7 alert(++a);//6
 8 alert(a);//6
 9 var a=5;
10 alert (a--);//5
11 alert(a);//4
12 
13 alert (--a);//4
14 alert (a--);//4

 

 

关系运算符:

在等和不等的比较上,如果操作数为非数值遵从以下规律:
1、一个操作。数为布尔值。则比较之前将其转换成数值,false转成0,ture转成1
2、一个操作数为字符串,则比较前,将其转成数字再进行比较。
3、一个操作数为NaN,则==返回false,,!=返回true,且NaN与NaN自生不等
4、在全等和全不等,如果值和类型都不等,才返回true,否则返回false
=== !==

 1 alert(1 == true);//true
 2 alert(0 == false);//true
 3 
 4 alert(20 = "20");//true
 5 alert(1 != NaN);//true
 6 alert(NaN != NaN);//true
 7 
 8 alert(20 === "20");//false
 9 alert(20 === Mumber(20"));//true
10 
11  

 

逻辑运算符:

与 表达式1 && 表达式2 【注】两个为真,与运算结果才为true

【短路操作】当第表达式1为假,表达式2就不去执行,直接判断整个为false

或 表达式1 || 表达式2
【注】两个为假,或运算结果才为false
【短路操作】当表达式1为真,表达式2就不去执行,直接判断整个为true
非 !表达式 逻辑非运算遵从
1、操作数是一个空字符串,返回true
2、操作数是一个非空字符串,返回false
3、操作数是0,返回true
4、操作数是任意非0的数(包括infinity),返回false
5、操作数是NaN,返回true
6、操作数是undefined,返回true

 1 alert(5<3 && alert(a));//false
 2 alert(5>3 || alert(a));//true
 3 
 4 alert(!"");//true
 5 alert(!"ss");//false
 6 alert(!0);//true
 7 alert(!1);//false
 8 alert(!Infinity);//false
 9 alert(!NaN);//true
10 alert(!undefined);//true

 

进制转换:

十进制转八进制/十六进制。
[方式]先将十进制数转成进制,再将二进制数转成对应的八进制或者十六进

二进制转八进制

[方式]从右向左,每三位- -组,不足三位的使用0补齐,将每一组数转成 十进制。

110 100 => 64

4*8^0 + 6*8^1 = 52;

二进制转十六进制

[方式]从右向左,每四位一组, 不足四位的使用0补齐,将每一组数转成十进 制。

0011 0100 => 34

4*16^0 + 3*16^1 = 52;

posted @ 2020-06-25 16:50  梦晶秋崖  阅读(129)  评论(0编辑  收藏  举报
返回顶端