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,一旦被转换的变量中含有非数字字符,都容易出现NaN1.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("")返回0parseInt(变量):如果变量中收割字符为字母则结果为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(;;){程序} 死循环;
相关文章推荐
- javascript复习笔记(一)js基础,基本语法,数据类型,控制流程
- (3)JavaScript基础(基本语法:变量与数据类型、类型转换、运算符、流程控制、函数、对象、自定义对象、原型)
- javascript笔记--流程控制、for、while、数据类型、js对象
- javascript高级程序设计学习笔记【数据类型、循环控制语句】
- php布尔型数据类型以及流程控制的数据类型转换
- 【JavaScript】(2)标识符与关键字\基本|引用数据类型 \变量 \运算符与表达式\流程控制语句
- java程序:数据类型 流程控制语句 操作符
- JAVA基础初探(一)核心概念(JVM,JDK,JRE)、流程控制语句、基本数据类型、关键字、标识符、常量与变量、类型转换、Debug处理
- Java学习笔记01---可视化输入输出,数据类型转化,流程控制
- [知了堂学习笔记] javascript数据类型、运算符、控制语句
- Javascript学习指南(第2版)笔记(一) Script、数据类型和变量、操作符和语句
- php流程控制语句以及条件判断中的数据类型转换
- Java学习笔记001——学前准备、数据类型、运算符、流程控制语句
- 三、数据类型转换、运算符、流程控制、字符集
- 积少成多Flash ActionScript 3.0(1) - 基础之数据类型、操作符和流程控制语句
- Javascript学习笔记(二) -- 数据类型和数据类型转换
- 积少成多Flash(1) - ActionScript 3.0 基础之数据类型、操作符和流程控制语句
- php学习基础篇之数据类型转换、运算符、if 、switch 流程控制
- JavaScript学习笔记——数据类型强制转换和隐式转换
- Python--前端基础之JavaScript(JS的引入方式,JS的变量、常量和标识符,JS的数据类型,运算符,流程控制,JavaScript的对象)