写页面问题&考核中未掌握知识

学习总结

一、全选、正反选

//全选
function select() {
    let pickbtn = document.querySelector("#pickbtn");
    //获取所有多选按钮
    let tbody = document.querySelector('tbody');
    let trs = tbody.querySelectorAll('input');
    pickbtn.onclick = function () {
        //遍历tbody中的每个多选框并把checked(默认选中属性)赋值为true
        for (var i = 0; i < trs.length; i++) {
            trs[i].checked = this.checked;
        }
    }
    for (var i = 0; i < trs.length; i++) {
        trs[i].onclick = function () {
            let count = 0;
            for (var j = 0; j < trs.length; j++) {
                if (trs[j].checked) {
                    count++;
                }
            }
            if (count == trs.length) {
                pickbtn.checked = true;
            } else {
                pickbtn.checked = false;
            }
        }
    }
}

二、数组

常用的数组方法

1.array.forEach()

循环遍历每一项

let arr = [1,2,3]
array.forEach((item.index)=>{
  //数组操作,不能return值
})
2.array.map()

map方法和forEach每次执行匿名函数都支持三个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组),但是map返回一个新数组,原数组不影响

let arr = [1,2,3];
let arr2 = arr.map((item,index)=>{
  if(item == 1){
    return true;
  }else{
    return false;//通过return返回想要的东西
  }
})
//结果:
arr2 = [true,false,false],arr = [1,2,3] 
3.array.filter()

筛选数组中符合条件的项,返回一个新数组

let arr = [1,2,4];
let result = arr.filter((item,index)=>{
  return item>2;
})
//结果:return为[4]
4.array.some()和array.every()

想执行一个数组是否满足什么条件,返回一个布尔值,这时forEach和map就不行了,可以用一般的for循环实现,或者用array.every()或者array.some()
1)array.some()类似于"或"
some()方法用于检测数组中的元素是否有满足条件的,若满足返回true否则返回false
注意:1、不会对空数组检测 2、不会改变原始数组

let arr = [1,2,4];
let result = arr.some((item,index)=>{
  return item>2;
})
//结果reslut为true

2)array.every()类似于"与"
用于检测数组中所有元素是否都满足条件,若满足返回true,否则返回false

let arr = [1,2,4];
let result = arr.every((item,index)=>{
  return item>2;
})
//结果result为false

5.array.find()
find()方法只会找第一个符合的,找到之后就会直接返回

let arr = [1,1,2,4];
let result = arr.find((item,index)=>{
return item>=2;
})
//结果result为2

增删查改数组

● arr.push()向数组末尾添加元素
● arr.unshift()向数组头部添加元素
● arr.concact()拼接数组

● arr.pop()删除数组末尾元素
● arr.shift()删除数组头部元素

● arr.some()判断数组中是否有符合要求的元素,返回值为boolean
● arr.every()判断数组是否每个元素都符合要求,返回值为boolean
● arr.find()返回符合要求的第一个元素
● arr.indexOf()返回符合要求的第一个元素下标
● arr.lastIndexOf()返回符合要求的最后一个元素下表,从后往前
● arr.foreach()遍历数组
● arr.fliter()创建一个新数组.新数组元素是通过检查指定数组中符合条件的所有元素
● arr.slice()从已有数组中返回选定元素

● arr.sort()排序
● arr.reverse()颠倒数组
● arr.toString()把数组变换成字符串
● arr.splice()向数组添加或者删除元素,并返回删除元素
● arr.join()方法把数组中所有元素放入一个字符串,字符串以特定符号连接
● includes()判断字符串中是否包含特定字符串

var let const 区别

1.作用域区别
let和const具有块级作用域,var不存在块级作用域(是全局作用域,但不能跨函数访问)
let和const可以跨块访问, var不能跨函数访问
2.变量提升
var存在变量提升,let和const不存在变量提升
(变量提升: 变量提升即将变量声明提升到它所在作用域的最开始的部分)
暂时性死区:在es6中,代码块内,使用let/const声明之前,该变量都是不可用的,在变量声明之前属于该变量的“死区”、在语法上,称之为“暂时性死区”也叫临时性死区)
3.重复声明
var声明变量时,可以重复声明变量,后声明的同名变量会覆盖之前声明的变量。const和let不允许重复声明变量。let和const在同一作用域下不能重名,报错
4.初始值设置
var和let可以不用设置初始值,const声明变量必须设置初始值

Ajax

type类型

GET POST DELETE PUT

GET&POST区别

1、语义化的区别:qet偏向于获取,post偏向于提
交数据
2 、携带给后端的信息位置不一样
get直接在地址后面拼接查询 字符串Q
post在请求体内进行信息的查询
3 、携带的数据格式不一样
get:因为携带的数据是直接拼接在地址后面,只能使用ur编码
post:因为在请求体内,所以可有多种形式,但是
需要提前说明
4、携带的数据大小不一样
get:因为拼接在地址后面,大小在2kb左右
post:因为在请求体内,数据大小不受限制,除非
服务器有显示
5、安全性能
get:明文发送,不安全post:相对安全

元素与节点

节点(换行、空格、制表符)元素—>元素节点
节点包含元素

setAttribute()方法

setAttribute(string name,string value):增加一个指定名称和值的新属性,或者把一个现有属性设定为指定的值
setAttribute(class,value)中class’是指改变class这个属性,要加引号

local Storage 和session Storage的区别

两者的区别在于生命周期与作用域的不同。
生命周期:Local Storage 是持久化的本地存储,存储在其中的数据是永远不会过期的,使其消失的唯一办法是手动删除;而 Session Storage 是临时性的本地存储,它是会话级别的存储,当会话结束(页面被关闭)时,存储内容也随之被释放。
作用域:Local Storage、Session Storage 和 Cookie 都遵循同源策略。但 Session Storage 特别的一点在于,即便是相同域名下的两个页面,只要它们不在同一个浏览器窗口中打开,那么它们的 Session Storage 内容便无法共享。

promise

Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果
1)Promise构造函数:Promise(excutor){ }
2)Promise.prototype.then 方法
then方法的返回结果是 Promise 对象,对象状态由回调函数的执行结果决定
a.如果回调函数中返回的结果是 非Promise 类型的属性,状态为成功,返回值为对象的成功值
b.
3)Promise.prototype.catch 方法

特点

1.对象的状态不受外界影响 处理异步操作 三个状态 Pending(待定) Resolved(成功) Rejected(失败)
2.一旦状态改变,就不会再变,任何时候都可以得到这个结果

推送本地项目至远程仓库

$ git init    //初始化仓库
$ git add .   //添加到缓存区
$ git status  //查看
$ git commit -m "注释"  //从缓存区上传至本地仓库
$ git remote add origin 仓库地址  //与仓库建立连接
$ git remote   //查看   (origin)
$ git push -u origin master   //推送至远程仓库

flex-grow&flex-shrink

[ flex-grow ]:定义弹性盒子元素的扩展比率(放大比例)。
[ flex-shrink ]:定义弹性盒子元素的收缩比率(缩小比例)。(当主轴方向显示不下所有项目时,项目是否进行压缩。默认值为1;取正整数,最小值为0,为0时表示不压缩)

考核总结

本次考核页面完成度不高,寒假过于放松,页面写的比较赶,上次页面的错误,未实现的点,这次依旧没实现,之前学姐说的一些注意事项本次考核还是没有注意,知识点掌握不牢,记得不清楚

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值