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){程序1}
  • if(条件1){程序1}else{程序2}
    • if(条件1){程序1}else if(程序2){}-----else{程序n}
    • 在某些情况下,三元运算符可替代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);
原文地址:https://www.cnblogs.com/wang-juan/p/6760685.html