JS基础知识(二)
目录
JavaScript (二)基础 部分
操作符
注意操作符的种类以及优先级。
算数运算符
- 一元运算符:正号、负号、++、--、平方等一个变量就能运算。
- 二元运算符:+ 、- 、* 、 %等两个变量才能运算。
- 三元运算符:值1?值2:值3;
逻辑运算符
- 或||
- 且&
- 非!
比较运算符
、>=、<、<=
赋值运算符(=、+=、-=、*=
、/=)
优先级
1、 ()
2 、!、-(负数)、++、-- (正数省略+)(一元运算)
3 、*
、/、%
4 、+、- (加,减)(二元运算)
5 、<、<=、>、>= (一级逻辑运算)
6 、、!=、=、!==、 (二级逻辑运算)
7 、&& (三级级逻辑运算)
8 、||
9、? : (三元运算)
10 、=、+=、-=、*=、/=、%= (赋值运算)
逻辑运算中的短路运算
&&且短路运算
- &&连接两个boolean类型,有一个是false结果就是false。
- 连接值本身不是布尔类型时,按布尔类型计算,结果本身不变(非布尔值)
- 如果不是boolean类型值,会按照布尔类型计算,然后返回的值不变。
||或短路运算
- ||连接两个boolean类型,有一个是true结果就是true。
- 连接值不是布尔类型时,按照布尔类型计算,结果本身不变。(非布尔值)
- 如果不是boolean类型值,会按照对应的布尔类型计算,然后返回的值不变。
流程控制
顺序结构(程序正常从上往下,从左往右执行。)
注意赋值运算时为从右往左,且左侧为属性或者变量,不取值!
选择结构
if语句
Switch语句
选择结构中的if语句
- if(条件1)
- if(条件1){程序1}else
- if(条件1){程序1}else if(程序2){}-----else
- 在某些情况下,三元运算符可替代if----else
选择结构中的switch
switch (值1) {
case value1:
程序1;
break; // break 关键字会导致代码执行流跳出 switch 语句
case value2:
程序2;
break;
default:
程序3;
}
注意事项
- break可以省略,但是如果省略,代码会继续只执行下一个case
- switch语句在比较值时,使用的是全等操作符,因此不会发生类型转换。注意switch中的值和case中值得类型一致
循环结构
for循环(简单循环使用for,遍历数组等)
while语句(不记循环次数首选while)
do -----while语句(先执行一遍循环体,再判断条件)
循环结构中的for
执行流程
- for(变量; 条件1; 条件2)
- 变量-》条件1-》执行程序-》条件2-》执行循环程序·········。(直至条件1不满足时,跳出循环)
- 三个表达式均为可选,但是必须写分号隔开。for( ; ; ){ 循环程序 }===》》》无循环结束条件,陷入死循环。
var sum = 0;
for(var i = 0; i < 10; i++){
sum += i;
}
console.log(sum);
while循环
//可以使用死循环和break连用。
//while(true){程序1;if(条件1){ break; }}
var i = 0;
var sum = 0;
while(i < 10){
sum+=i;
i++;
}
console.log(sum);
do······while循环(一定会执行一次do中的程序)
var i = 0;
var sum = 0;
do{
sum += i;
i++;
}while(i<10)
数组
数组是一种数据类型。(把很多数据装入一个盒子中,用的时候取出即可)
数组的定义
- 字面量
var arr=[1,2,3]
- 对象定义(数组的构造函数)
var arr = new Array(参数)
。[参数位置一个数值时为数组长度,多个数值时为数组中的元素]
数组的操作
求数组的长度 = 数组名.length;
- 可以通过修改数组的程度来改变数组中元素的个数,如果改小了,数组从后面删除元素。(伪数组的长度可以修改,但是不能修改里面的元素)
获取数组中的元素
- 数组中的制定元素 = 数组名[索引值];
- 数组的索引代表的是数组中的元素在数组中的位置,索引从0开始
- 如果获取数组中的元素是通过 数组名[索引值], 该索引值超过数组本身的长度,系统不会报错,而是给定值为
undefined
- 如果获取数组中的元素是通过 数组名[索引值], 该索引值超过数组本身的长度,系统不会报错,而是给定值为
遍历数组(获取饼操作数组中的每一元素)
//数组翻转
var arr=[1,2,3];
var newArr = [];
for(var i = arr.length; i >= 0; i--){
newArr.push(arr[i]);
}
console.log(newArr);