赞
踩
2022年7月6日 学习记录博客。今日学习内容:运算符和数组。学习时长:6h。
复习target
目录
运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算术运算等功能的符号。
2.1 概念:算术运算使用的符号,用于执行两个变量或值的算术运算。
2.2 浮点数的精度问题
浮点数值的最高精度是17位小数,在进行算术运算时精度远远不如整数,故往往会出错。
2.3 优先级
算术运算符的优先级,先乘除,后加减,有小括号先算小括号里的。
2.4 表达式和返回值
表达式:由数字、运算符、变量等组成的式子。// 1+1
表达式最终都会有一个结果,返回给我们,我们称之为 返回值。
3.1 前置递增、递减运算符
++num(--num)前置递增,就是自加1,类似于 num = num + 1,但是 ++num写起来更为简单。
口诀:先自加,后返回值
- 示例
- var p = 10;
- console.log( ++p + 10); // 21
3.2 后置递增、递减运算符
num++(num--)前置递增,就是自加1,类似于 num = num + 1,但是 num++ 写起来更为简单。
口诀:先返回值,后自加
开发时,大都属于后置递增、递减运算符,并且代码独占一行。
- 示例
- var p = 10;
- console.log( p++ + 10); // 20
4.1 概念
比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。
“ == ” 会默认转换数据类型。例如将 字符串 ‘18’ 转换成 数值型 18。
- console.log( 18 == '18') //true
- console.log( 18 === '18') // false
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断。
5.1 逻辑与 &&
两边都是 true 才返回 true,否则返回 false
5.2 逻辑或 ||
两边都是 false 才返回 false,否则返回 true
5.3 逻辑非 !
逻辑非(!)也叫取反符,用来去一个布尔值相反的值,如 true 的相反值是 false。
5.4短路运算(逻辑中断)
短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;
逻辑与
- console.log(123 && 456) //456
- console.log(0 && 456) //0
- console.log(0 && 1 + 2 && 456 * 56789) //0 表达式1 为假,
- 逻辑中断不再运算,返回表达式1
逻辑或
概念:用来把数据赋值给变量的运算符
复习 target
目录
概念:
数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
JS中创建数组有两种方式:
2.1利用 new 创建数组
var 数组名 = new Array();
2.2 数组字面量创建数组
数组的字面量是方括号 [ ]
声明数组并赋值称为数组的初始化
2.3 数组元素的类型
数组中可以存放任意类型的数据,例如字符串,数字,布尔值等
3.1 数组的索引
索引(下标):用来访问数组元素的序号(数组下标从0开始)。
数组可以通过索引来访问、设置、修改对应的数组元素,我们可以通过 “ 数组名[ 索引 ] ” 的形式来获取数组中的元素。
用 “ 数组名 [ 索引号 ] ” 的方式,可以单独一项的取出数组。
遍历数组:就是把数组中的每个元素从头到尾都访问一次。
数组长度:数组名.length
- var arr = ['red','green','blue'];
- for (var i = 0; i < arr.length; i++){
- console.log(arr[i]);
- }
- // 案例1:求数组 [2,6,7,8,10] 里面所有元素的和以及平均值
- var arr = [2,6,7,8,10]
- var sum = 0;
- var average = 0;
- for (var i = 0; i < arr.length; i++){
- sum = sum + arr[i];
- }
- average = sum / arr.length;
- console.log(sum,average);
- //案例2:求数组 [2,6,7,8,10] 里面所有元素的最大值
- var arr = [2,6,7,8,10];
- var max = arr[0];
- for (var i = 0; i < arr.length; i++ ){
- if(arr[i] > max){
- max = arr[i];
- }
- }
- console.log('该数组中最大的值是:'+ max);
- //案例3:将数组['red','green','blue','pink']转换为一串的字符串,并且用 | 或其他符号分割开。
- var arr = ['red','green','blue','pink'];
- var sty = '';
- var sep = '|';
- for (var i = 0; i < arr.length; i++){
- str += arr[i] + sep;
- }
- console.log(str);
5.1 通过修改 length 长度新增数组元素
其中 索引号是4,5,6的空间没有赋值,默认值是undefined。
5.2 通过修改数组索引新增数组元素
修改数组索引是最常用的方式
- //案例1 新建一个数组,里面存放100个整数(1-100)
- //1. 声明一个空数组arr
- //2. 循环中的计数器i 可以作为数组元素存入
- //3. 由于数组的索引号是从0开始的,因此计数器从0开始更合适,存入的数组元素要+1
- var arr = [];
- for (var i = 0; i < 100; i++){
- arr[i] = i + 1;
- }
- console.log(arr);
- //案例2:筛选数组。将数组[2,0,6,1,77,0,52,0,25,7]中大于等于 10 的元素筛选出来,放入新数组
- //1.声明一个新的数组用于存放新数据 newArr
- //2.遍历原来的旧数组,找出大于等于10的元素。
- //3.依次追加给新数组 newArr。
- var arr = [2,0,6,1,77,0,52,0,25,7];
- var Arr = [];
- var j = 0;
- for (var i = 0; i < arr.length; i++){
- newArr[j] = arr[i];
- j++;
- }
- console.log(newArr);
- // 可以不使用“j”变量,使用 newArr.length
案例1:将数组 [ 'red','green','blue','pink','purple'] 的内容倒过来存放
- //1.声明一个新数组newArr
- //2.把旧数组索引号第4个取过来(arr.length - 1),给新数组索引第0个元素(newArr.length)
- //3.采取递减的方式 i--
- var arr = ['red','green','blue','pink','purple'];
- var newArr = [];
- for (var i = arr.length -1; i >= 0; i--){
- newArr[newArr.length] = arr[i]
- }
- console.log(newArr);
案例2:冒泡排序法
- var arr = [5,4,3,2,1];
- for(var i = 0; i <= arr.length-1; i++){ //外层循环的趟数
- for(var j =0; j <= arr.length - i - 1; j++ ){ //内层循环表示 每一趟的交换次数
- if(arr[j] > arr [j+1]) {
- var temp = arr [j];
- arr[j] = arr[j+1];
- arr[j+1] = temp;
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。