javaScript
javaScript
年年CODE
这个作者很懒,什么都没留下…
展开
-
RSA解密长JSON导致部分中文乱码(JSEncrypt)
需要安装 encryptlong 解析长json。原创 2022-10-27 14:58:51 · 3094 阅读 · 2 评论 -
JS多种继承方式
数据类型判断。typeof可以正确识别:undefined、boolean、number、string、symbol、function等类型的数据,但是对于其他的都会认为是object,比如Null、Date等,所以通过typeof来判断数据类型会不准确。但是可以使Object.prototype.toString实现。function typeOf(obj){ return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase(原创 2022-05-07 11:17:23 · 155 阅读 · 0 评论 -
es6 新增 WeakMap
WeackMapconst toProxy = new WeackMap()注意:WeakMap对Key有限制,它必须是Object(Symbol也不行)weackMap的方法有 delete、get、has、set。以前还有个clear,后来被弃用了。var map = new Map();var weakmap = new WeakMap();(function INIT(){ var ka = {x: 1}; var kb = {y: 2}; map.set(k原创 2022-03-17 17:40:08 · 459 阅读 · 0 评论 -
判断设备系统信息
function versions(){ const u = navigator.userAgent; // let app = navigator.appVersion return { iphonex: /iphone/gi.test(u) && window.devicePixelRatio && window.devicePixelRatio === 3 && window.screen.width === 375 &am原创 2021-11-20 16:34:08 · 161 阅读 · 0 评论 -
常用的表单项验证。身份证,手机号,用户名。
js 精确判断身份证格式身份证第16位 对2取余等于1的是男 等于2的是女。const idCardReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/;identityCodeValid(code) { // 判断身份证格式 const city = { .原创 2021-11-18 09:57:04 · 382 阅读 · 0 评论 -
Session和Cookie的定义和区别
cookie和session的定义Cookie是服务器发送到用户浏览器,并保存在浏览器本地的一小块文本串数据。它会在浏览器下次向同一服务器再发起请求是,被携带发送到服务器。通常它用于告知服务器两个请求是否来自同一浏览器,一样用于保持用户的登陆状态等。Cookie使基于无状态的HTTP协议记录稳定的状态信息成为了可能。session指的就是服务器和客户端一次会话的过程。Session利用Cookie进行信息处理的。当用户首先进行了请求后,服务端就在用户浏览创建了一个cookie,当这个session结束时原创 2021-07-28 11:09:52 · 150 阅读 · 0 评论 -
TCP 的三次握手和四次挥手
开始客户端和服务器都处于closed(关闭)的状态,然后服务端开始监听某个端口,近入LISTEN(监听)状态。第一次握手(SYN = 1,seq = x)发送完毕后,客户端进入SYN_SEND状态。第二次握手(SYN = 1,ACK = 1,seq = y,ACKnum = x +1)发送完毕后,服务器进入SYN_RCV状态。第三次握手(ACK = 1,ACKnum = y+1)发送完毕后。当服务器端接收到这个包时,客户端进入ESTABLISHED(连接)状态。四次挥手第一次挥手(FIN .原创 2021-07-28 10:34:03 · 71 阅读 · 0 评论 -
原型、原型链和继承
一、原型 prototype 和 proto每个对象都有一个__proto__属性,并且指向它的prototype原型对象。每个构造函数都有一个prototype原型对象 prototype原型对象里的constructor指向构造函数本身prototype 和 __proto__有什么用呢?实例对象的__proto__指向构造函数的prototype,从而实现继承。(只有对象才有__proto__)prototype对象相当于特定类型所有实例对象都可以访问的公共容器。// 构造函数原创 2021-07-06 14:31:07 · 253 阅读 · 0 评论 -
获取url的所有参数
function getWindowHref() { //获取数据 例 ?id=5&type=9&status=10 var sHref = window.location.href; var args = sHref.split('?'); if (args[0] == sHref) { return "" } var hrefArr = args[1].split('#')[0].split('&'); // hrefArr = [ 'id=原创 2021-06-23 16:52:37 · 503 阅读 · 0 评论 -
深入理解作用域
定义如果要简要的描述并展示其重点,那么作用域链大多数与内部函数相关。我们知道,ECMAScript 允许创建内部函数,我们甚至能从父函数中返回这些函数。var x = 10; function foo() { var y = 20; function bar() { alert(x + y); } return bar; } foo()(); // 3...原创 2019-03-09 17:31:59 · 158 阅读 · 0 评论 -
cookie存储
封装cookie//设置cookie 名字 值 过期时间function setCookie(cookieName,cookieValue,expicesMinutes) { var s=''; //检测过期参数有没有传递。 if(expicesMinutes!==undefined){ var date=new Date(); ...原创 2018-12-21 13:28:31 · 132 阅读 · 0 评论 -
localStorage本地存储
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><input typ原创 2018-12-21 13:20:36 · 157 阅读 · 0 评论 -
深入理解变量对象
深入理解变量对象(Variable Object)介绍JavaScript编程的时候总避免不了声明函数和变量,以成功构建我们的系统,但是解释器是如何并且在什么地方去查找这些函数和变量呢?我们引用这些对象的时候究竟发生了什么?大多数ECMAScript程序员应该都知道变量与执行上下文有密切关系:var a = 10; // 全局上下文中的变量 (function () { var b...原创 2019-03-09 17:23:55 · 255 阅读 · 0 评论 -
解析变量的作用域
首先看代码 function test(a) { console.log(a); var a = 5; function a() {} console.log(b); var b = 10; console.log(b); function b() {} console.log(a) var b = f...原创 2018-11-29 14:49:52 · 181 阅读 · 0 评论 -
常用的数组和字符串 方法
// 借用Object原型上的toString方法function type(parameter) { //call 修改this的指向 return Object.prototype.toString.call(parameter)}//使用set数据去重 set里面不能存在同样的值function unique1(arr) { return [...new Set(arr)]}//使用对象方式,filter会过滤出返回true的元素。function unique2(..原创 2021-06-23 10:47:28 · 62 阅读 · 0 评论 -
变量的提升
<script> var name = 'World';//全局变量 (function(){//匿名函数,自我执行 if(typeof name === 'undefined'){ var name = "Jack"; console.info('Good...原创 2018-09-04 15:49:35 · 121 阅读 · 0 评论 -
javaScript setTimeout()和setInterval()定时器的区别和使用。
的setTimeout用倒计时的例子来解释两个的不同的使用window.onload=function(){ function getTime1(){ var box=document.getElementById('box'); //获取当前日期和时间 var xian...原创 2018-08-29 21:54:01 · 1706 阅读 · 0 评论 -
遍历数组的12种方法
第一种:普通for循环for(var i = 0; i < arr.length;i++ ){ //代码 }第二种:forEach循环 arr.forEach((item,index,arr)=>{ //代码 }) forEach接收一个回调函数作为参数,而这个回调函数有接受三个参数,作为参数。item是每......原创 2019-03-01 12:41:07 · 26955 阅读 · 10 评论 -
深入理解执行上下文
深入理解执行上下文(Execution Contexts)定义每次当控制器转到ECMAScript可执行代码的时候,即会进入到一个执行上下文。执行上下文(简称-EC)是ECMA-262标准里的一个抽象概念,用于同可执行代码(executable code)概念进行区分。标准规范没有从技术实现的角度定义EC的准确类型和结构,这应该是具体实现ECMAScript引擎时要考虑的问题。活动的执行上...原创 2019-03-09 16:44:43 · 1284 阅读 · 0 评论 -
闭包
点击事件举例:点击li获取每个li在兄弟节点的位置<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>闭包</title> </head> <body> <ul i原创 2018-09-19 11:26:01 · 103 阅读 · 0 评论