您的位置:首页 > Web前端 > JavaScript

javaScript笔记 (三) 数据类型转换 和 操作符、流程控制

2016-08-04 12:31 507 查看

第1章 数据类型转换

一、转换成字符串类型

二、转换成数值类型

三、转换成布尔类型

1.1 任何简单类型转换成String(三种方法)

1.1.1 变量+“”   或者     变量+“abc”

1.1.2 String(变量)

1.1.3 变量.toSting()
注意:undefined和null不可以

Null和undefined无toString方法。

1.2 任何简单类型转换成Number

此转换容易产生NaN,一旦被转换的变量中含有非数字字符,都容易出现NaN

1.2.1 变量-*/一个数字(有非数字字符会出现NaN)

例:var  num1  = “11”- 0;  var num2 =“11”* 1;var num =“11”/1;

JS底层做了一个强制类型转换,把字符串转换成了Number进行运算。

1.2.2 Number(变量)(有非数字字符会出现NaN)

var num1 = Number(“18”); 把字符变成了数字。

var num2 = Number(“18.99”);   结果为18.99数字型。(有小数也转换)

1.2.3 parseInt()和parseFloat()(译为取整和取浮点数)

空字符串parseInt()和parseFloat()返回NaN,Number("")返回0

parseInt(变量):如果变量中收割字符为字母则结果为NaN。

否则取出现首个非数字前的整数。

<span style="font-size:18px;">123 = parseInt(“123.123aaaa”);</span>


parseFloat(变量):如果变量中收割字符为字母则结果为NaN。

否则取出现首个非数字前的浮点数。(没有小数取整)

<span style="font-size:18px;">123.123 = parseFloat(“123.123aaaa”);</span>


1.2.4 提别提示

Boolean类型中:true数值为1;false为0;

null的数值类型为0;

undefined无数值类型或者为NaN;

1.3 任何简单类型转换成Boolean

任何数据类型都可以转换成boolean类型,所以和遗忘两个转换不同;

1.3.1 Boolean(变量)

var bool = Boolean(“1111”); bool为true;

1.3.2 !!变量

第一个逻辑非操作会基于无论什么操作数返回一个与之相反的布尔值

第二个逻辑非操作则对该布尔值求反

于是就得到了这个值真正对应的布尔值

第2章 操作符

2.1 操作符种类

一、算数运算符(+—*/...)

a) 一元运算符:正号、负号、++、--、平方等一个变量就能运算

b) 二元运算符:+-*/%等两个变量才能运算

c) 三元运算符: 值1?值2:值3;

二、逻辑运算符( ||&& ! )(或且非)

三、比较运算符(<、>、==、>=...)

四、赋值运算符(=、+=、-=、*=、/=、%=)

2.2 优先级

1 ()

2 !、-(负数)、++、-- (正数省略+)(一元运算)

3 *、/、%

4 +、- (加,减)(二元运算)

5 <、<=、<、>= (一级逻辑运算)

6 ==、!=、===、!==、 (二级逻辑运算)

7 && (三级级逻辑运算)

8 ||

9?: (三元运算)

10 =、+=、-=、*=、/=、%= (赋值运算)

2.3 &&和||运算

2.3.1 &&链接两个boolean类型,有一个是false结果就是false。

链接值不是布尔类型时,按照成布尔类型计算,结果本身不变。(非布尔)

例子: 1 = 2&&1;   0 = 0 && 1;   都是true取后面,都是false取前面。

2.3.2 ||链接两个boolean类型,有一个是true结果就是true。

链接值不是布尔类型时,按照成布尔类型计算,结果本身不变。(非布尔)

例子: 2= 2||1;   1 = 0 || 1;   都是true取前面,都是false取后面。

var obj  =  document.body.scrollTop  ||  document.documentElement.scrollTop;

第3章 流程控制

一、顺序结构(程序正常执行流程从上往下,从左往右)(不用研究)

赋值运算时为从右往左执行,且左侧为属性或变量,不取值!!!

二、选择结构

a) If语句

b) Switch语句

三、循环结构

a) for循环

b) while循环

c) do...while循环

3.2 选择结构

共有两种,if语句和switch语句。If常用,switch为特殊情况使用,判断条件出现的情况特别多的时候用switch,其他时候if语句比较方便。

3.2.1 If语句

一、If语句用法有三种

1.if(条件1){程序1}

2.if(条件1){程序1}else{程序2}

3.if(条件1){程序1}else if(条件2){程序2}...else{程序n}

二、三目运算(也叫三元运算)(目或者元代表几个表达式)

三目运算可以替代部分if...else...功能,运算简单,使用方便,代码清晰。

<span style="font-family:KaiTi_GB2312;font-size:18px;">                             表达式1?值1:值2</span>

3.2.2 Switch语句

switch (值1) {

    case value1:

        程序1;

        break; // break 关键字会导致代码执行流跳出 switch 语句

    case value2:

        程序2;

        break;

    default:

        程序3;

}

注意:

break可以省略,如果省略,代码会继续执行下一个case

switch 语句在比较值时使用的是全等操作符,因此不会发生类型转换

(例如,字符串 "10" 不等于数值 10)。

3.3 循环结构

共3种,for/while/do...while;可根据需求选择使用;

1.遍历数组首选for循环,简单循环使用for。

2.而while循环强调,不记循环次数(不知道循环多少次),首选while。

3.最后do...while循环强调,无论怎样,至少执行一次是,使用do...while。

3.3.1 for循环

1) 执行流程

for (变量;条件1;条件2){ 执行程序 }

执行过程:变量->条件1->执行程序->条件2->条件1->执行程序.....

直到条件1不成立,跳出循环。

2) 三个表达式均为可选,但是必须写分号!!!

for(;;){程序}   死循环;

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐