
javascript
文章平均质量分 68
向着光芒的女孩
平时坚持瑜伽和阅读,是个内心温柔但充满力量的web前端程序媛
展开
-
【JavaScript】new命令精华总结
new命令很全面的精华总结,包括相关的对象、构造函数概念,以及new命令执行过程和相关注意事项。原创 2023-04-26 21:00:00 · 850 阅读 · 0 评论 -
【JavaScript】对象继承精华提炼
JavaScript中对象的继承的理解总结,包括JavaScript的继承机制、原型链、constructor属性、instanceof和构造函数继承的精华提炼总结。原创 2023-04-26 11:13:26 · 628 阅读 · 0 评论 -
【夯实基础 】 js获取的clientHeight、offsetHeight和scrollHeight的区别
clientHeight、offsetHeight和scrollHeight的区别clientHeight = content + padding, 不加溢出内容的高度 ,返回整数offsetHeight = content + padding+border, 不加溢出内容的高度 ,返回整数scrollHeight = content + padding+溢出内容的高度,不加border,返回整数MDN建议获取精确的通过 element.getBoundingClientRect() 函数亲测原创 2021-12-31 18:32:38 · 552 阅读 · 1 评论 -
【js】0 == null 和 0 == undefined 转换结果为什么false
记得0转换为布尔类型的值是false,众所周知null == undefined是为true,本以为 0 == null 和 0 == undefined也为true,但答案结果却为false。0单独在if语句是会转换为false的if(0){ console.log('0在if语句转换true');}else{ console.log('0在if语句转换为false');}打印结果如下:百思不得其解故查询了一下,得到了网上的答案:相等运算符用于比较两个值,返回true或.原创 2021-12-21 14:34:50 · 2218 阅读 · 0 评论 -
【js】es6 可选链 ? . 和 空值合并 ? ? 运算符使对象多层判断更简洁
es6可选链?.1.在调用函数里使用如果我们多层的调用,直接调用当中间某层不存在时代码就会报错,如直接不判断调用 ref.componentRef.instance.ngOnDestroy(),当中间某一层如instance不存在时就会报错发现判断某个对象的函数存在才调用,通过使用es6的可选链非常方便,分享如下:ref?.componentRef?.instance?.ngOnDestroy?.();相当于if (ref && ref.componentRef &&a原创 2021-11-23 10:47:20 · 944 阅读 · 0 评论 -
【前端笔记】js监听网络断开和网络恢复事件
核心代码 window.addEventListener("online", (function() { alert('网络连接上了') })); window.addEventListener("offline", (function() { alert('网络断开了'); }));测试方法通过浏览器调试器Network面板启动网络开启和关闭可进行测试关闭网络触发和提示测试开启网络触发和提示测试...原创 2021-10-12 10:42:52 · 1672 阅读 · 0 评论 -
【前端笔记】es6入门学习记录
关于es6版本广义的es6指的是2015年发布es6之后的新版本,更细的划分:2015 es6 2016 es7 2017 es8 2018 es9 2019 es10 2020 es111.数值扩展1).Number.isNaN与isNaN的区别Number.isNaN不存在类型转换的行为,而isNaN会尝试将参数转换为Number类型。isNaN只是判断传入的参数是否能转换为数字,并不是严格的判断是否等于NaN数值;而Number.isNaN判断传入的参数是否严格等于NaN这个数值。参原创 2021-05-13 12:31:34 · 228 阅读 · 3 评论 -
【前端笔记】js计算两个日期差多少天
只是粗略的计算,对差额的时分秒毫秒没有做更具体的处理,原理是通过时间戳计算两个时间点的毫秒差,再换算为天方式1:(new Date('2021/04/22').getTime() - new Date('2021/04/20').getTime())/1000/60/60/24 // 2方式2:function diffDay(lastDate,earlyDate){ return (Date.parse(lastDate) - Date.parse(earlyDate))/1000/6原创 2021-04-23 12:31:37 · 6506 阅读 · 0 评论 -
【js】如何使document.write重新加载body的onload事件
使用场景:后端接口放回一个转义的html字符串,让其在前端渲染,折腾了好久,先把\r \t \n 转义字符串转义再转义双引号str=str.replace(/\\r|\\t|\\n|/g,"");str=str.replace(/\\"/g,"'");返回的html想触发body的onload事件,使用document.write后新的body的onload事件不生效,后来发现需要先document.open() -> document.write() -> document.clo原创 2020-11-09 16:51:24 · 1278 阅读 · 0 评论 -
【javascript】在js中编辑多行字符串拼接变量
(1) +号方式var htmlSTring = "<div>"+ "this is a string"+"</div>";(2) es5方式var htmlSTring="<div>\ This is a string.\</div>"(3) es6方式var htmlSTring = `<div> This is a string.</div>`;es6传变量方式var b =原创 2020-10-22 09:54:07 · 1498 阅读 · 0 评论 -
【工具】使用npx一行命令就能压缩js文件
有的时候要想压缩单个js文件,如果用webpack和gulp可能要配置一些东西,而用npx就可以帮我们一行命令就简单压缩js文件只压缩js文件:npx uglify-js main.js -o main.min.js压缩并修改变量名(加-m参数):npx uglify-js main.js -m -o main.min.js关于npx:npm@5.2.0开始,就自动安装了npx,npx会自动查找当前依赖包中的可执行文件,如果找不到就去环境变量PATH里找,还是找不到就自动安装,安装只是一个原创 2020-10-14 11:20:35 · 651 阅读 · 0 评论 -
【解决方案】element show-password弹框关闭如何将小眼睛还原
问题:因为我们的密码输入框是放在弹出框里的,element show-password 在弹框里打开小眼睛,关闭弹框,再打开小眼睛仍开着,感觉比较尴尬,如下:打开小眼睛后,下一次打开弹框,小眼睛还是打开的:解决方案:当关闭弹框时,通过一个变量使用v-if将输入框隐藏,打开时,又显示核心代码: <el-dialog :visible.sync="dialogFormVisible" :close-on-click-modal="false" :before-close=原创 2020-09-16 14:47:14 · 7188 阅读 · 1 评论 -
【js】搞清楚slice,substr,substring字符串截取函数
假设 str是个字符串变量,且设置值为"LittleAnn";那么这三个函数使用方式:let str="LittleAnn";str.slice(start,end);str.substr(start,length);str.substring(start,end);相同点:start为开始位置下标,end为结束位置下标下标从0开始计算如果第3个参数不传,默认从start截...原创 2020-03-20 13:48:28 · 306 阅读 · 0 评论 -
【js】立即执行的匿名函数的一些写法
//方法一:(function(){ console.log('我在\(\)形式的匿名函数中,会返回undefined'); })()//方法二:!function(){ console.log('我在!形式的匿名函数中,会返回true');}();//方法三:+function(){ console.log('我在+形式的匿名函数中,会返回NaN'); ...原创 2020-02-29 20:21:10 · 292 阅读 · 0 评论 -
【解决方案】win10安装angular8的踩坑记录——ng : 无法加载文件 D:\Program Files\nodejs\ng.ps1
用的vscode的终端来进行安装的node 和 npm 看版本已经把node安装到目前最新稳定版了,node是12.14.1, npm是6.5.0cnpm 看版本:6.1.0全局安装 Angular CLIcnpm install -g @angular/cli4.看是否安装成功输入ng version 结果报错:ng : 无法加载文件 D:\Progra...原创 2020-01-16 17:12:14 · 2231 阅读 · 0 评论 -
【js】让IE8能够响应媒体查询
要支持IE8,需要一段JavaScrip代码让浏览器能够响应媒体查询,这段代码就是Scott Jehl 的respond.js “腻子脚本”下载respond.js地址如下:https://github.com/scottjehl/Respond找到respond.min.js ,将加载respond.js的文件添加到网页中: <!--Respond.js for IE 8 or le原创 2016-11-24 20:37:35 · 3112 阅读 · 0 评论 -
【技术】兼容IE浏览器的时间格式
兼容IE浏览器的时间格式:function turnDate(input) { var fullDate = input.split(" ")[0].split("-"); var fullTime = input.split(" ")[1].split(":"); return new Date(fullDate[0], fu原创 2017-07-10 14:19:29 · 2695 阅读 · 0 评论 -
【技术】javascript实现垂直导航在可视区范围显示
function floorNavScroll() { var floorContent = document.getElementsByClassName("block_text")[0]; var floorContentView = floorContent.getBoundingClientRec原创 2017-10-11 09:15:42 · 409 阅读 · 0 评论 -
【技术】js数组查重和去重的简单方法
var ary = new Array(&amp;amp;amp;amp;amp;amp;amp;quot;1&amp;amp;amp;amp;amp;amp;amp;quot;, &amp;amp;amp;amp;amp;amp;amp;quot;22&amp;amp;amp;amp;amp;amp;amp;quot;, &amp;amp;amp;amp;amp;amp;amp;quot;33&amp;amp;原创 2018-12-10 15:27:41 · 5309 阅读 · 0 评论 -
【技术】js将数组转换为大写——遍历将每一项都转换一下
数组直接用 .toUpperCase() 方法会报错.toUpperCase()我们遍历一下:var tempArr=['Hello','World'];for(var i=0;i&lt;tempArr.length;i++){ tempArr[i]= tempArr[i].toUpperCase();}console.log(tempArr)实例如下:...原创 2019-01-31 11:59:38 · 5182 阅读 · 0 评论 -
【技术】通过js将css动态插入到head头部
通过js动态将css放在head中:var style = document.createElement("style");style.type = "text/css";style.innerHTML="body { background-color:#eee; }"style.id="addStyle"document.getElementsByTagName("HEAD").ite...原创 2019-05-08 16:27:41 · 3191 阅读 · 0 评论 -
【技术】js和css的大小写转化
1.javascript转大写: var str="Hello world!"; str=str.toUpperCase();转小写: var str="Hello world!"; str=str.toLowerCase();2.css转大写: text-transform:uppercase;转...原创 2019-05-22 18:42:33 · 403 阅读 · 0 评论 -
【技术】nuxt中引入wow和animate.css随页面滚动出现动画
安装cnpm install wowjs --save-dev安装成功后:“package.json "wowjs": "^1.1.3"2.nuxt.config.js中引入 css:[ '~/assets/css/animate.css' ],3.在所需要用到动画在的vue文件中引入<script> if (process.browser...原创 2019-05-28 19:17:13 · 5734 阅读 · 4 评论 -
【技术】webpack警告The 'mode' option has not been set
WARNING in configurationThe 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each envir...原创 2019-08-21 14:53:02 · 760 阅读 · 0 评论 -
【技术】js中的setTimeout的this指向window对象
研究了一上午发现setTimeout的使用jquery的$(this)总是赋值不上,后来打印了一下,发现原来setTimeout里使用this指向的是window。var testThis={ a:function(){ console.log(this); //{a: ƒ, b: ƒ} }, b:function(){ setTimeout(function(){ ...原创 2019-08-27 18:41:16 · 981 阅读 · 0 评论 -
【技术】如何退出node的命令行
ctrl+D按一次或者 ctrl+C 按两次原创 2017-07-03 10:33:05 · 1945 阅读 · 0 评论 -
【技术】js的数组按日期排序
升序排序 //升序排序 arr.sort(function(a, b) { if (a.doneTime < b.doneTime ) { return -1; } else if (a.doneTime > b.doneTime ) { return 1; } else {原创 2017-07-11 11:51:27 · 6316 阅读 · 0 评论 -
【技术】JSON格式与string格式互相转换
json类型转为string类型: JSON.stringify(dataJson)string类型转json类型 JSON.parse(dataString);例子:原创 2017-05-22 14:35:27 · 2571 阅读 · 0 评论 -
【js】Bootstrap的popover(弹出框)在append后弹不出(失效)
在使用popover(弹出框)时,发现跟其他组件使用方式有些区别,需要手动初始化才能弹出来,如下:<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel原创 2017-02-24 09:27:08 · 3672 阅读 · 1 评论 -
【前端笔记】学习Javascript原型笔记(一)
1.每个函数中都有一个prototype属性,该属性所存储的就是原型对象。 2.每个对象都有一个构造器,而原型本身也是一个对象,这意味着它也必须有一个构造器,而这个构造器又会有自己的原型。 3.如果在一个对象自身属性中没有找到指定的属性,就可以去(如果存在的话)原型链中查找相关的属性。 4.对象自身属性的优先级高于原型属性。原创 2017-02-20 10:05:24 · 612 阅读 · 0 评论 -
【js】ECharts重写鼠标右键点击事件
最近在学习ECharts,关于ECharts的鼠标右键事件可以看官网ECharts3文档的API,网址:点这个网址直接跳转到官网API指定的鼠标事件中去 如下:(http://echarts.baidu.com/api.html#events.%E9%BC%A0%E6%A0%87%E4%BA%8B%E4%BB%B6)在 ECharts 中主要通过 on 方法添加事件处理函数,如下:myChart.o原创 2017-01-06 11:01:17 · 15635 阅读 · 12 评论 -
【js】js中创建空对象的方法
最近学习了一下js的对象,其中创建一个空对象了解到三种方法,如下://方法一var obj1 = {};//方法二var obj2 = Object.create(null);//方法三var obj3 = new Object();这两种方法都可以创建一个空对象,亲自在谷歌调试器上测试了,如下:原创 2016-12-30 15:44:50 · 6150 阅读 · 0 评论 -
【js】js编写乘法口诀
用js打印乘法口诀:var format='\n',sum=format;for(var i=1;i<=9;i++){ for(var j=1;j<=i;j++){ sum+=i+'*'+j+"="+i*j+" "; } sum+=format;}console.log(sum);运行结果如下:原创 2017-01-04 14:43:13 · 3305 阅读 · 0 评论 -
【js】限制只能输入数字
《超实用的Javascript代码段》介绍了3种方法限制只能输入数字的方法:方法一:用html5中input的type=”number”来实现 方法二:用html5中input的pattern=[0-9]来实现 方法三:用javascript的.replace(/\D/g,”“)和clearNonumber()函数共同实现;具体代码如下:<!DOCTYPE html><html lang=原创 2016-11-22 16:15:55 · 1050 阅读 · 0 评论 -
【js】在浏览器中禁止复制与粘贴
核心代码:var banCopyPaste = document.getElementById("banCopyPaste");banCopyPaste.oncopy = function(){ return false;}banCopyPaste.onpaste = function(){ return false;}完整例子:<!DOCTYPE html><html l原创 2016-11-19 15:30:20 · 597 阅读 · 0 评论 -
【html】四种方法禁止输入框输入
方法一:disabled 方法二:disabled=”disabled” 方法三:readonly 方法四:通过Javascript先获取焦点再失去焦点完整例子具体代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>禁止输入</title></head><body> <di原创 2016-11-19 15:19:59 · 3154 阅读 · 0 评论 -
【js】验证输入是否为空
验证用户是否输入原创 2016-11-19 14:55:10 · 495 阅读 · 1 评论 -
【js】去除字符串左右两边的空格
可以用正则表达式来实现,参考《超实用的JavaScript代码段》具体例子如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>表单常用代码</title>&am原创 2016-11-19 13:05:41 · 5562 阅读 · 0 评论 -
【js】Bootstrap的popover(弹出框)2秒后定时消失
先在目标DOM结构中弹出小提示,然后2秒后提示消失function showPopover(target, msg) { target.attr("data-original-title", msg); $('[data-toggle="tooltip"]').tooltip(); target.tooltip('show'); target.focus();原创 2017-02-27 14:25:35 · 14554 阅读 · 0 评论 -
【js】javascript自制alert提示框
最近使用了了bootstrap的模态框,再使用jquery-ui的dialog对window的自带alert提示框封装使用,发现报栈溢出,因为jquery和jquery-ui都有个focus()方法,可能导致递归后栈溢出。于是决定自己写个提示框的方法,效果图如下: 代码:/*css部分*/<style>.msg-bg { position: absolute; top: 0;原创 2017-04-07 11:34:38 · 1895 阅读 · 0 评论