js
学习代表未来
这个作者很懒,什么都没留下…
展开
-
js中的原型链理解
prototype原创 2022-08-02 22:35:09 · 395 阅读 · 1 评论 -
说说你对this的理解
在Javascript中,this通常指向的是我们正在执行的函数本身,或者是,指向该函数所属的对象。全局的this ——> 指向的是window函数中的this ——> 指向的是函数所在的对象对象中的this——> 指向其本身...原创 2022-04-13 10:21:55 · 749 阅读 · 0 评论 -
一个页面从输入URL到页面加载显示完成,这个过程都发生了什么?
分为4个步骤:1.当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询。这能使浏览器获得请求对应的IP地址。2. 浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文,一个同步—应答报文和一个应答报文,这三个报文在浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由客户端发出该请求已经被接受的.翻译 2022-03-25 17:24:08 · 447 阅读 · 0 评论 -
HTTP的状态码有哪些
200 (OK) 客户端请求成功400 (Bad Request)客户端请求有语法错误,不能被服务器所理解403 (Forbidden)服务器收到请求,但是拒绝提供服务404 (Not Found)请求资源不存在,输入了错误的url500 (Internal Server Error)服务器发生不可预期的错误503 (Server Unavailable)服务器当前不能处理客户端的请求,一段时间后可能恢复正常...翻译 2022-03-24 18:27:00 · 125 阅读 · 0 评论 -
js正则表达式大全
1.邮箱正则var reg=/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,5}$/;2.手机号正则var reg=/^1(3|4|5|6|7|8|9)\d{9}$/;翻译 2022-03-23 17:52:35 · 272 阅读 · 0 评论 -
事件
1.DOM事件流“DOM2级事件”规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。首 先发生的是事件捕获,为截获事件提供了机会。然后是实际的目标接收到事件。最后一个阶段是冒泡阶 段,可以在这个阶段对事件做出响应。以前面简单的 HTML 页面为例,单击<div>元素会按照图13-3所 示顺序触发事件。2.DOM2 级事件处理程序“DOM2级事件”定义了两个方法,用于处理指定和删除事件处理程序的操作:addEventListener() 和 removeEve..翻译 2021-01-19 15:43:02 · 129 阅读 · 0 评论 -
数组去重
var arr = [1, -5, -4, 0, -4, 7, 7, 3]; function unique(arr) { var arr1 = []; // 新建一个数组来存放arr中的值 for (var i = 0, len = arr.length; i < len; i++) { if (arr1.indexOf(arr[i]) === -1) { ...翻译 2021-01-08 14:16:46 · 106 阅读 · 0 评论 -
js数组方法整理
点此查看转载 2020-08-11 14:04:17 · 112 阅读 · 0 评论 -
HTML/CSS/JS编码规范
点此链接转载 2020-06-22 15:12:41 · 223 阅读 · 0 评论 -
js对url进行编码和解码(三种方式区别)
*** 只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不经过编码直接用于 URL。***例如:搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码。1)escape 和 unescape原理:对除ASCII字母、数字、标点符号 @ * _ + - . / 以外的其他字符进行编码。编码:eg:escape('http://www.baidu.com?name=zhang@xiao@jie&order=你好')res:"http%3A//w转载 2020-05-28 11:33:15 · 314 阅读 · 0 评论 -
前端构建工具gulpjs的使用介绍及技巧
gulpjs转载 2020-05-21 16:53:26 · 144 阅读 · 0 评论 -
前端打包工具UglifyJS使用入门
UglifyJS转载 2020-05-21 16:52:21 · 295 阅读 · 0 评论 -
js控制input框只能输入数字和一位小数点且小数点后面最多两位小数
html代码<input type="text" onkeyup="clearNoNum(this)">js代码 function clearNoNum(obj) { obj.value = obj.value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符 obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的 .翻译 2020-05-12 09:30:53 · 2709 阅读 · 0 评论 -
JS计算精度丢失
各大编程语言也都封装了自己的精确计算库,Js我选择使用math.js安装方式1.包管理器安装math.jsnpm install mathjs2.cdnhttps://cdnjs.cloudflare.com/ajax/libs/mathjs/6.6.2/math.min.js3.math.js 加、减、乘、除 使用方式// 0.1+0.2math.form...翻译 2020-04-07 15:18:19 · 257 阅读 · 0 评论 -
判断是否移动端(平板或手机)
判断是否移动端function isMobile(){ if( navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)...翻译 2020-04-01 11:05:48 · 946 阅读 · 0 评论 -
判断是否微信登陆
// 封装一个函数function isWeiXin() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; }}// 使用方...翻译 2020-04-01 11:17:15 · 340 阅读 · 0 评论 -
jquery动态计算menu菜单的高度
1.dom元素2.js代码 // 初始化菜单高度 function setsize() { var max_h = $(".menu_wrapper_inner").height(); var window_h = window.innerHeight; var body_h = $("body").height(); ...原创 2020-03-18 20:50:52 · 497 阅读 · 0 评论 -
number类型转化为string类型
toString 方法 string = toString(num) 缺点: 不能转化 underfind 和 null String 方法 string = String(num) 可以转化 underfind 和 null num + '' string = num + ''翻译 2019-12-05 17:40:43 · 1516 阅读 · 0 评论 -
js问题-解决定时器不能传入函数参数问题
在用JavaScript的定时器时 没有参数是一个非常难受的事情。 无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决。经网上查询后整理如下:方法一:例如对于函数hello(_name),它用于针对用户名显示欢迎信息:var userName="ja...转载 2019-12-01 15:28:31 · 582 阅读 · 0 评论 -
promiseA+规范及实现
1.什么是promise?promise是JS异步编程中的重要概念,异步抽象处理对象,是目前比较流行Javascript异步编程解决方案之一2.几种常见的异步编程方案回调函数 事件监听 发布 /订阅 promise对象Axios是一个基于promise的http库,可以用在浏览器和node.js中...转载 2019-11-21 14:32:01 · 139 阅读 · 0 评论 -
new Date() 日期格式处理
var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) // 所以获取当前月份是myDate.getMonth()+1; myDate....转载 2019-11-19 09:37:42 · 1076 阅读 · 0 评论 -
js获取当前时间
<script> var date=new Date(); var year=date.getFullYear(); var month=date.getMonth()+1; month=month < 10?('0'+month):month; var day=date.getDate(); day=day < 10...翻译 2019-11-18 10:03:03 · 96 阅读 · 0 评论 -
indexOf()的作用
1.定义:indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。代码解释:// indexOf() 对字符串大小写敏感 没有则返回-1var str='hello World'; var index=str.indexOf('world');console.log(index) // -1 var index1=str.indexOf('...翻译 2018-11-02 15:39:42 · 6929 阅读 · 0 评论 -
js判断对象是否为空对象的几种方法
var obj = {};1.将json对象转化为json字符串,再判断该字符串是否为"{}"var a = (JSON.stringify(obj) == "{}");console.log(a); //true2.for in 循环判断var b = function () { for (var key in obj) { return fal...翻译 2019-09-12 10:03:44 · 260 阅读 · 0 评论 -
js判断是否是数组(Array)类型
1.xxx instanceof Arrayvar arr=[];var newArr='';console.log(arr instanceof Array); //trueconsole.log(newArr instanceof Array); //false2.Array.isArray(xxx)console.log(Array.isArray(...原创 2019-09-09 15:27:03 · 181 阅读 · 0 评论 -
js 银行卡每四位加空格正则表达式
参考链接:https://blog.csdn.net/java_warplane/article/details/77769346<input name="" id="" value=""/><script>// 16位或者19位银行卡号var reg = /^(\d{16}|\d{19})$/;$("input").blur(function(){...转载 2019-04-16 13:57:16 · 1739 阅读 · 0 评论 -
JSON.parse()和JSON.stringify()
1.parse 用于从一个字符串中解析出json 对象var str='{"name":"saili","age":"22"}'JSON.parse(str)得到如下age: "22"name: "saili"__proto__: Objectps:单引号写在{}外,每个属性都必须双引号,否则会抛出异常2.stringify用于从一个对象解析出字符串var arr...翻译 2019-06-11 16:07:19 · 221 阅读 · 0 评论 -
echarts图表在tab切换中宽度失效
如果设置了宽度100%,在初始化的时候echarts图表正常显示,但在点击tab切换的时候,发现宽度变为了100px,主要原因的当前的元素被隐藏了,但是echarts实例还存在 ,解决办法是:在点击tab切换的时候,先把所有的echarts实例给销毁掉 myChart.dispose();,再给当前显示的元素,调用echarts数据。全部的代码如下:<!DOCTYPE html...原创 2019-06-20 17:50:27 · 4492 阅读 · 5 评论 -
video 实现静音自动播放
<video id="demo" controls="controls" autoplay="autoplay" muted> <source src="./conference_2.mp4" type="video/mp4"></video>ps: 视频想要实现自动播放,貌似必须加上muted属性 但是只能实现静音自动播放,目前还没找到有...翻译 2019-06-21 10:26:30 · 12395 阅读 · 1 评论 -
js判断元素是否存在
参考链接:https://www.cnblogs.com/ww03/p/6004234.htmljQuery检查某个元素在页面上是否存在// 应该根据获取元素的长度来判断,代码如下if($("#tt").length > 0) { //元素存在时执行的代码} JavaScript检查某个元素在页面上是否存在//js判断元素是否存在if(doc...翻译 2018-10-24 10:03:11 · 1318 阅读 · 0 评论 -
获取网页和浏览器窗口的宽度和高度
情况一:// 获取浏览器窗口可视区域的宽度 不包含滚动条 var width=document.body.clientWidth;// 获取网页内容的实际高度 var height=document.body.clientHeight; console.log(width,height); 情况二: // 获取浏览器窗口可视区域的宽度 包含滚动条 var w...翻译 2018-10-24 16:02:39 · 1422 阅读 · 1 评论 -
Math 的常用方法
1. Math.abs() 取绝对值<script> var num=-12.01; var num1=Math.abs(num); console.log(num1); //12.01</script>2.Math.round()把一个数字舍入为最接近的整数<script> // 0.5的情况 该方法将进行上舍入 cons...翻译 2018-08-09 14:51:06 · 161 阅读 · 0 评论 -
js实现四舍五入,且保留两位小数
实现步骤<script> var num=112.2546845; console.log(num.toFixed(2)); //112.255</script>翻译 2018-08-09 09:44:16 · 6480 阅读 · 0 评论 -
js 判断日期时间大小
参考链接checkTime = function() { var startTime = document.getElementById("startTime").value; var endTime = document.getElementById("endTime").value; compareCalendar(startTime, end...翻译 2019-07-18 16:57:32 · 5712 阅读 · 0 评论 -
select 下拉默认选中项的颜色设置
<style> select:invalid { color: red; } option{ color: #000; }</style>// 注意required必须设置,要不然颜色不生效<select required> <option value="" disabled selected hidden>...翻译 2018-12-27 10:34:09 · 13351 阅读 · 0 评论 -
cookie在网页中存储用户信息
1. 设置cookie的函数function setCookie(name, value, days) { if(days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toGMTSt...翻译 2019-07-22 14:27:25 · 503 阅读 · 0 评论 -
ready和onload的区别
1. $(document).ready在DOM树加载完成后就会执行,不必等到页面中图片或其他外部文件都加载完毕。并且可以写多个.ready。$(document).ready(function(){ alert('1')})$(document).ready(function(){ alert('2')})//结果两次都输出 2. window.onload是在页面资源(...原创 2019-09-09 14:33:23 · 240 阅读 · 1 评论 -
js判断数组是否为空
var arr=[];if(arr.length==0){ console.log('数组为空');}原创 2019-09-09 14:06:42 · 1469 阅读 · 0 评论 -
js创建函数的两种方式
1.函数表达式(函数只能在声明之后调用。因为这种方式声明的函数,是在函数运行的阶段才赋值给变量 f 的;)var f = function () { console.log(1);}f();2.直接声明(函数可以在声明函数的作用域内任一地方调用。因为这种方式,是在函数解析阶段赋值给标识符 f .)f();function f() { console.log(...原创 2019-09-04 14:01:34 · 248 阅读 · 1 评论 -
js对象自定义属性排序
var compareDesc = function (prop) { return function (obj1, obj2) { var val1 = obj1[prop]; var val2 = obj2[prop]; if (!isNaN(Number(val1)...翻译 2019-08-27 11:41:54 · 2221 阅读 · 1 评论