首页 > 其他分享 >【自用】JS知识点小抄[updating]

【自用】JS知识点小抄[updating]

时间:2023-01-17 18:24:02浏览次数:53  
标签:知识点 元素 函数 小抄 参数 updating 数组 var 表达式

js学过很久了,因为框架的出现以至于对原生js的熟悉程度指数级下降。但是不可否认js在前端领域的重要性。借着最近的空闲时间,能有机会从零开始梳理一遍js的所有常用语法及知识点。于是有了这篇文章,简单记录一下,仅作自用。

一、js基础语法

变量命名

1 字母 数字 下划线 $

2 不能是关键字

3 不能以数字开头 1a

4 严格区分大小写

5 有意义

6 驼峰式命名

js数据类型

1 基本数据类型(number,boolean,string,undefined,null,symbol) 2 引用数据类型

变量声明 但是未赋值其类型就是undefined ,变量声明 但是未赋值 其默认值是undefined

数据类型转换

number->string ①a=a.toString() ②a=String(a) ③a = a + '';

string->number

var a = '123.45z';
a = parseInt(a); // a = 123 遇到第一个非数字字符为止,假如第一个就是非数字直接返回NaN
console.log(typeof NaN); // NaN (not a number) 类型还是number
console.log(NaN === NaN); // false

a = parseFloat(a); //转成小数
a = Number(a); // 只要字符串里有除小数点以外的字符就返回NaN
var b = '10';
b = b / 1; // 隐式转换 '10'-->10  10-0

运算符

算术运算符

比较运算符

==不严格相等 只需要内容相同即可 类型可以不一样

=== 严格相等 内容和类型都需要一样

赋值运算符

逻辑运算符&& || !

表达式1 && 表达式2 当表达式1的值是真,此时直接返回表达式2的值 表达式1的值是假(false,0,'',null,NaN,undefined),直接返回表达式1的值,表达式2不执行(短路现象)

表达式1 || 表达式2 当表达式1的值是真,此时直接返回表达式1的值 表达式2不执行(短路现象) 表达式1的值是假(false,0,'',null,NaN,undefined),直接返回表达式2的值

注意:逻辑运算的结果不一定就是true或者false这两个Boolean值,而是要看具体表达式的情况

三目运算符

表达式1?表达式2:表达式3

运算符优先级

() (2+3)*7  
++ -- !  a+++5 (a++)+5
\* / % --->+ -
\> >= < <=
== === != !==
&&-----> ||
=
, 
var num = (1, 2 + 5, 3);
console.log(num);//3

流程控制

if

switch

switch (num) {
  default: console.log('error');
    break;
  case 0:console.log('星期日');
    break;
}

循环结构(重复结构)

for/while/do-while

在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do...while这个循环,直至while()为假

do-while循环体至少执行一次 while循环的循环体可能一次也不执行

数组

基本数据类型 number string Boolean null undefined symbol

引用数据类型

数组的属性

length获取该数组元素个数

数组的方法

push(数组后面追加) /unshift(在数组前面追加)

  • push在原数组的末尾添加一个或多个元素

  • 返回值 返回添加元素之后的数组长度

pop删除数组的最后一个元素/shift删除数组第一个元素 不需要传参数 返回被删除的那个元素

splice(参数1[参数2,参数3,...])

​ 参数1 是必须的 表示从什么下标开始

​ 参数2 ①没有的情况下 表示删除到数组末尾 ②假如是0 表示此次操作是添加元素,参数3以及

​ 之后的都是添加的元素 ③假如是大于0的数 表示删除几个元素 用几个值替换(修改)

var arr2 = [8, 10, 9];
var res=arr2.splice(1); // 从下标为1开始的元素 删除1个元素 删掉10  res=[10] 一般不关心返回值
arr2.splice(2, 0, 20, 30); // 添加元素 参数至少三个
arr2.splice(1, 2, 20, 30); // 替换

如果两个参数 从下标为(参数1)开始,删掉(参数二)个元素

如果只有一个参数,未指定删除元素个数,则把参数一后面的元素全部删除

如果参数二为0 表示此次操作是添加元素,参数3以及之后的都是添加的元素

如果参数二大于0 且存在参数3、4...... 那么表示先删掉什么元素,再用什么元素替换

slice(start,end) 截取

  • 从start位置开始截取到end为止 不包含end位置的元素 原数组不变

indexOf() 在数组中检索元素 / lastIndexOf()

  • 参数 需要检索的值
  • 假如从左到右找到则返回第一个满足条件的下标 假如找不到返回-1
function noRepeat(arr) {
  var newArr = [];
  // 每次对原数组元素进行赋值之前判断是否在新数组中
  for (var i = 0; i < arr.length; i++) {
    if (newArr.indexOf(arr[i]) === -1) {
      newArr[newArr.length] = arr[i];
    }
  }
  return newArr;
}
var newArr = noRepeat(arr);

forEach((item,index)=>{}) 高阶函数——函数的参数是一个函数或者返回值是一个函数

item 代表数组每个元素 index代表数组元素的索引

some判断是否有满足条件的元素 返回值 布尔值,找到满足条件的第一个元素 则终止循环 返回true,找不到则返回false

filter 过滤 把满足条件的所有元素筛选出来 新的数组 由满足条件的原数组元素组成

map 对元素进行遍历(迭代)处理 返回值 根据原数组产生长度一样的新的数组 新数组的每一个元素由原数组对应的元素带入函数参数后的返回值

reduce 参数 参数1 表示累计值默认会取数组第一个元素值 下次循环的时候会取上一次函数的返回值 参数2表示当前的值 第一次会取数组第二个值 参数3表示当前的值对应的索引 参数4表示原数组 返回值 最后一个元素带入函数之后的返回值

var sum = arr.reduce(function (start, v, i, arr) {
  console.log(start);
  // console.log(v);
  // console.log(i);
  // console.log(arr);
  return start + v;
}, 0);

concat 连接数组 返回值是合并后的新数组

join 把数组元素以某种分隔符连接到一起 形成一个字符串

​ // [1,2,3] ===> 1,2,3 1:2:3

​ var str = arr.join('

标签:知识点,元素,函数,小抄,参数,updating,数组,var,表达式
From: https://www.cnblogs.com/qinghuanjing/p/17058475.html

相关文章