今日刷题-请求头和响应头有必要了解
题目112345以下哪一项不属于浏览器Response Headers字段:A: RefererB: ConnectionC: Content-TypeD: Server 答案 A A: 请求头 ,用于告诉服务器请求来自哪里 B: 请求头 ,用于维护客户端和服务端的连接关系 C: 请求头 POST可用,响应头也可以使用 D: 响应头 web服务器软件名称 解析 123456789101112常见的请求头 客户端 -> 服务端[request] Accept: */*(客户端能接收的资源类型) Accept-Language: en-us(客户端接收的语言类型) Connection: Keep-Alive(维护客户端和服务端的连接关系) Host: localhost:8080(连接的目标主机和端口号) Referer: http://localhost/links.asp(告诉服务器我来自于哪里) User-Agent: Mozilla/4.0(客户端版本号的名字) Accept-Encoding: gzip, def ...
今日刷题-数组的splice和map方法
题目112345以下哪些Array对象的方法不会更改原有数组?(多选)A: concat()B: splice()C: map()D: sort() 答案 A,C 解析 A: 用于连接字符串的操作,返回一个连接后的字符串 B: splice用于对数组进行增,删,改,会对原数组进行修改,返回值为增加,删除,修改后的数组(可以理解为修剪后产生的屑) C: map函数遍历数组每一项,并将其返回值作为新值传递给新数组 比如 [1,2,3].map(item,index,array=>{return item * 2 }); //返回[2,4,6] D: 对数组进行排序 array.sort( ( a , b ) => { return a - b } );// 升序 array.sort ( ( a , b ) ) => { return b - a } ;// 降序 会改变数组的方法: 不会改变数组的方法 ...
今日刷题-注意数组的一些方法
题目112345在下列Promise所提供的方法中,用来向成功或者失败的回调函数队列中添加回调函数的是( )A: doneB: failC: always D: then 答案 D 解析 A没有,B也不存在,C为一个扩展(不管有没有成功失败都会调用),D的回调有二个参数,第一个是成功回调,第二个是失败回调 1234567891011<script> const promise1 = new Promise((resolve, reject) => { resolve("事情解决"); }); //promise对象.then(成功回调,失败回调); promise1.then((value) => { console.log("我是成功回调", value); }, (reason) => { console.log("我是失败回调", value); ...
今日刷题-let的暂时性死锁
题目1123456789101112以下代码执行后,输出结果为() let x = 10;let foo = () => { console.log(x); let x = 20; x++;}foo();A: 抛出ReferenceErrorB: 10C: 20D: 21 答案 A 解析 需要知道的知识点 let变量的没有变量提升的 只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。**(暂时性死区)** 上面这句话说通俗点: 就是只要let所在定义域下(也就是在函数当中的 { } 当中),在let代码没有执行之前,如果这个时候有一段代码对let声明的变量名称进行了访问并且代码执行了( 比如console.log() ) ,那么就会发生报错! 123456789101112131415161718192021//注意下面这种情况let foo = () => { console.log(x);//输出x=10; x++; ...
今日刷题-注意let
题目112345下列不属于document对象方法的是?(多选)A: onloadB: querySelectorAllC: childrenD: ajax 答案 A,C,D 解析 A: onload 属性是一个事件处理程序用于处理Window, XMLHttpRequest, <img> 等元素的加载事件,当资源已加载时被触发。 比如window.onload = function ( ) { } 可以参考 B: document.querySelectorAll(“选择器”) C: parentNode.children 是属性,用于DOM节点查询子元素 childNodes 属性返回所有的节点,包括文本节点、注释节点 children 属性只返回元素节点 D: AJAX不是JavaScript的规范,它只是一个缩写:Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求。在现代浏览器中主要依靠 XmlHttpRequest 对象 题目2123456789101112131 ...
我来图书馆小程序加密后抓包分析反编译抢位置
提交预约流程 注意 抓包分析好像还涉及到wxlib/wx/login 不过从后面提交数据来看好像用不到,可能我技术问题吧 抓包分析有人可能最新微信PC抓不了小程序包解决办法 打开一个任意小程序,打开任务管理器,找到进程。右键打开文件位置。 退出电脑微信,右键结束小程序进程。 找到这个目录后删除这个目录 或者你有everything这个工具,直接搜索 WMPFRuntime 然后右键打开所在文件夹,把里面这个4376目录删除就可以 2.0新变化 位置预约的一些信息加密了 预约信息加密解决反编译微信小程序反编译 这次小程序反编译出来的文件 反编译后查看源代码 预约位置关键代码 1RSA加密的,跟着他代码来就可以 找啊找,发现找到了,在app.js当中是rsa.modules和exponent加密代码 找啊找,找到了小程序图书馆调用的函数工具库 接下来就简答了,模拟导入就可以了 计算生成预约js(nodejs下运行)代码123456789101112131415161718192021const ttt = require(&qu ...
ProcessOn的官网(less+jquery实现三端)
ProcessOn的官网(less+jquery实现三端) 很基础的一个网站,没有什么特别的技术(懒加载也没有) 手机端,苹果端,PC端都通用,具体可以试试 不过有些小bug,那个图片滚动的,可能有些bug 在线演示地址 https://processon-demo.netlify.app/ 展示PC端 手机端(浏览器测试) 平板端(浏览器测试) 头部渐变效果(“免费扩容”这几个字) 滚动列表效果 底部出现效果 一些改变时候的过渡 下载地址ProcessOn官网前端页面
今日刷题-JavaScript的身份证正则和内置可迭代对象
题目112345以下哪些对象是Javascript内置的可迭代对象?(多选)A: ArrayB: MapC: StringD: Object 答案 A,B,C 解析 12345678JavaScript当中可迭代的对象有ArrayMapSetStringTypedArrayarguments对象(注意:箭头函数是没有arguments和this的,所以只有普通函数才有arguments)NodeList对象(从document.getElementsByTagName之类获取的节点列表) 题目212345678关于身份证号,以下正确的正则表达式为(多选)A: isIDCard=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/B: isIDCard=/^[1-9]\d{7}((9\d)|(1[0-2]))(([0|1|2]\d)|3[9-1])\d{3}$/C: isIDCard=/^[1-9]\d{5}[1-9]\ ...
今日刷题-js的call,apply为null,undefined的情况和日期的注意点
题目11234function a(){ console.log(this);} a.call(null);//输出结果为? 答案 window 解析 call,apply用于改变this的指向,并且可以让任意函数成为某一对象的方法进行调用 特别的是 null或undefined时,将是JS执行环境的全局变量。浏览器中是window,其它环境(如node)则是global。 ECMAScript5.1 15.3.4.4中有解释 题目212345有var d = new Date('2018-05-09'),可以设置为6月份的操作是?()(多选)A: d.setMonth(7);B: d.setMonth(6);C: d.setMonth(5);D: d.setDate(40); 答案 C与D 解析 C : js当中的月份是从0开始算的,0代表1月,11代表12月,所以设置的时候需要减少1,所以d.setMonth(5)为设置6月份 D : 看看菜鸟教程当中的setDate(day)解释 参数 描述 ...
今日刷题-try...catch...finally
题目112345678910111213var i = 100;function foo() { bbb: try { console.log("position1"); return i++; } finally { break bbb; } console.log("position2"); return i;}foo(); 答案 position1 position2 解析,上面代码转换下,对齐下 12345678910111213var i = 100; function foo() { bbb: try { console.log("position1"); return i++;//i此时从100变为101 } ...