
Js基础知识
AzeShinja
这个作者很懒,什么都没留下…
展开
-
JS转换小数为百分数
直接复制就能用原创 2024-01-05 10:30:43 · 850 阅读 · 0 评论 -
vue/js的input输入框实现不允许空行回车,有数据才可以回车以及识别excel单元格换行的逻辑
@input绑定事件实现禁止空行回车的逻辑以及识别excel单元格换行原创 2023-11-01 14:52:39 · 885 阅读 · 0 评论 -
js获取当前是什么浏览器
使用js获取当前用户浏览器什么牛马原创 2022-08-12 15:40:53 · 1168 阅读 · 0 评论 -
vue实现倒计时的代码(纯代码)
worker实现vue倒计时的全部代码原创 2022-06-24 09:40:26 · 1293 阅读 · 4 评论 -
[更准确的倒计时功能]vue中使用web worker 实现倒计时
如何在vue使用worker操作?怎么倒计时才准确呢?原创 2022-06-22 17:54:16 · 1800 阅读 · 7 评论 -
el-input为number类型做输入长度限制
本来我想偷个懒,百度复制一下,发现热门那几个文章真的瞎掰那我直接代码了,估计有和我一样懒的想复制就能用的<el-input prefix-icon="el-icon-mobile" placeholder="请输入手机号" @input="limitPhoneNum" type="number" v-model="codeForm.phoneNum" autocomplete="原创 2021-12-09 13:02:37 · 6348 阅读 · 4 评论 -
input type=“number“且禁用右侧上下选择
<style> input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; } input[type="number"]{ -moz-appearance: textfield; }</style>如果使用vue的小伙伴不好用可能是在scope中编写的, 可以新启一个style标签,将相关代码放进去...原创 2021-11-23 09:15:54 · 886 阅读 · 1 评论 -
js操作dom节点上移、下移、删除、添加操作
需求如图: 需要上移节点,下移节点,删除节点,和添加项目需要原生的操作dom编译器: HBuilder有朋友刚学js让我帮他写一下,正好借着这个机会用一下新的编译器HB,感觉还不错那我直接上代码吧<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>列表的增删和移动</title> <style> body { ba.原创 2021-11-11 23:01:45 · 2489 阅读 · 0 评论 -
JS实现前置和后置AOP
Function.prototype.before = function (beforefn) { var _self = this; //保存原函数引用 例如这里指向的是func return function () { //返回包含了原函数和新函数的"代理函数" beforefn.apply(_self, arguments); //执行新函数,修正this 原来this指向的是window //执行原函数 return _self.apply(_self,原创 2021-09-18 10:56:04 · 469 阅读 · 0 评论 -
如何优雅的判断对象中只要value为空则去除key值
直接上代码 const states = { [userId]: { [projectId]: { orgId, pageSize, radio, taskId: this.taskId, ...active, }, }, }; // eslint-disable-next-line co原创 2021-08-31 17:38:01 · 635 阅读 · 0 评论 -
JS垂直以及横向滚动条精确定位居中某一元素
首先看一下横向滚动条我说一下完成这个效果我所用到的思路使用某一位置 居左的距离 / 总div距离 * 滚动条宽度 = 滚动条居左的距离(错误)上面说法错误是因为当时误判断了滚动条滚动的距离不是元素的offsetLeft通过元素的offsetLeft直接赋值给滚动条的ScrollLeft, 发现已经实现了定位效果,但是并不是居中,为了居中我们就需要一点点骚操作先看HTML的绑定详情:<div class="tasks" ref="tasks" style="overflow: hidd原创 2021-08-31 11:47:55 · 2413 阅读 · 0 评论 -
JS判断是否是数组类型的方法
if(typeof Array.isArray==="undefined"){ Array.isArray = function(arg){ return Object.prototype.toString.call(arg)==="[object Array]" };}// 如果支持 可以直接 Array.isArray(arg)原创 2021-08-03 20:11:43 · 232 阅读 · 0 评论 -
关于vnode子父组件使用自定义指令实现v-model双向绑定
父.vue<template> <div class="zi-ding-yi"> 自定义组件测试 <zidingyizujian v-comModel="pageValue"></zidingyizujian> <input type="text" v-model="pageValue" /> </div></template><script>import zidingy原创 2021-07-21 09:42:16 · 928 阅读 · 0 评论 -
在vue中使用node-cli实现终端信息展示并输出,以及展示项目中未使用的依赖
首先在package.json中配置自己js文件的路径单选框信息选择我做的是一个多选一个是单选,首先引入几个使用到的包npm install chalknpm install figletnpm install clearnpm install enquirerswitch.jsconst clear = require('clear');const chalk = require('chalk');const figlet = require('figlet');con.原创 2021-07-20 10:12:47 · 1327 阅读 · 0 评论 -
使用a标签隐藏很丑陋的input[type=“file“]
博主使用的是vue3 + elementPlus直接上代码和效果图 <el-dropdown split-button type="primary"> 上传文件 <template #dropdown> <el-dropdown-menu> <el-dropdown-item> <a style="原创 2021-07-12 16:52:06 · 317 阅读 · 0 评论 -
js判断字符串是否为空
使用trim判断if (!text.trim())如果!text.trim()为true, 则代表数据为空, 如果结果为false, 代表数据不为空原创 2021-07-06 16:44:34 · 616 阅读 · 0 评论 -
LeetCode 1418. 点菜展示表
给你一个数组 orders,表示客户在餐厅中完成的订单,确切地说, orders[i]=[customerNamei,tableNumberi,foodItemi] ,其中 customerNamei 是客户的姓名,tableNumberi 是客户所在餐桌的桌号,而 foodItemi 是客户点的餐品名称。请你返回该餐厅的 点菜展示表 。在这张表中,表中第一行为标题,其第一列为餐桌桌号 “Table” ,后面每一列都是按字母顺序排列的餐品名称。接下来每一行中的项则表示每张餐桌订购的相应餐品数量,第一列应当原创 2021-07-06 10:45:55 · 141 阅读 · 1 评论 -
eslint报LF和CRLF错误(Expected linebreaks to be ‘CRLF‘ but found ‘LF‘)
直接说解决方法:在vscode右下角找到更改格式的地方改成CRLF如果保存时他自动更改为LF的话,去找到editorconfig在里面的end_of_line = LF -> end_of_line = CRLF原创 2021-07-01 15:36:31 · 2492 阅读 · 0 评论 -
关于使用Vue中的v-for遇见的BUG个人猜测性推理
前提:博主很菜, 刚开始学Vue, 使用vue写了虚拟列表, 由于个人粗心的原因导致了 新建一个元素点击无法更改css的BUG, 但是通过这个BUG发现了我自己身上的一些知识盲点问题描述: let addFilm = { name: this.addFilmName, desc: this.addFilmDesc, score: this.formatTooltip(this.addFilmScore), // st原创 2021-06-28 18:02:10 · 266 阅读 · 0 评论 -
Vue获取div节点中的子节点出现的坑(childNodes, nextTick)
今天遇到了一个比较邪门的问题,就是我在mounted中使用var oUl = document.getElementById("tbody");console.log(oUl.childNodes);由图可见这是已经拿到了的一个数组, 长度为7, 但是在我编写console.log(oUl.childNodes[0]);的时候就变成undefined的了, 并且childNodes.length也是0所以我就使用了this.$nextTick (function() { .原创 2021-06-22 11:57:51 · 1381 阅读 · 1 评论 -
收藏的好看按钮(分享)
博主在实例中使用的是VUE框架,下面先上效果图再上代码是动态环绕的一个按钮.box a { position: relative; display: inline-block; padding: 13px 19px; color: #2e317c; font-size: 16px; text-decoration: none; text-transform: uppercase; overflow: hidden; transition: 0.5s; ma.原创 2021-06-21 16:05:15 · 394 阅读 · 0 评论 -
某硕前端JS笔试题
2.4.5. 这个确实我以前看过文章,但是很久没有复习忘记了原创 2021-05-11 22:19:01 · 106 阅读 · 0 评论 -
Ajax传送数组到后台,使用servlet如何接收
博主起初用这种方法是不行的let userId = [...];$.post(baseUrl + "/user/manageUserDel.action", {userId: userId}, function(result) { $('#editUserFormModal').modal('hide'); if (result.del == true) { $("#msgTitle").html("Success"); $("#msgBody.原创 2021-04-26 18:18:48 · 949 阅读 · 0 评论 -
JavaWeb+Jquery 完成图片表单数据上传
博主这里是在前端把图片转换成base64了, 因为这不是我的项目, 很老了。所以写起来很难受直接上代码吧, 还不是最严谨的版本, 有许多判断可以自行添加function FileUpload_onselect(el) { console.log("选择文件"); img2Base64($('#goodsPic')[0], function(data) { $('.userPhoto').attr('src', data); }) } function submit.原创 2021-04-26 11:41:42 · 252 阅读 · 0 评论 -
死磕 36 个 JS 手写题(转载)
这篇文章特别好, 提升比较大, 目前我才看到一半的位置。 希望以后反复阅读转载 2021-04-03 22:54:26 · 369 阅读 · 0 评论 -
JS字符串内容每3个句号分成一个数组
其实实现的方法很简单, 只要稍微了解数组和字符串的转换就可以完成操作第一种方法:第一种方法就是少创建一个数组, 代码可读性比较好var turnToArr = function(content){let arr = []; let num = 0; let start = 0; let end = 0; for (let i = 0; i < content.length; i++) { if (content[i] === "。") { num++;原创 2021-03-29 04:12:24 · 803 阅读 · 0 评论 -
C某某V的前端笔试题大概考察知识点
博主经过这一次笔试后比较自闭,题目对于目前的自己来说比较困难, 有很多学的并不是很细的地方HTTP缓存, 协商缓存, 手动缓存, 服务器缓存, 强缓存?Promise + setTimeOut 的各种执行结果触发自定义事件判断代码各种原型链的指向问题哪些可以跨域等等 标签默认跨域同源策略?缓存的优先级?Css继承属性?函数切面编程?动态替换查询的url参数...原创 2021-03-28 01:40:12 · 113 阅读 · 2 评论 -
JS函数防抖实现以及原理
1.防抖防抖原理:原理参考楠丶的文章事件响应函数在一段时间后才执行,如果在这段时间内再次调用,则重新计算执行时间。可理解为通过setTimeout的方式,在一定时间间隔内,将多次触发转变成一次触发。应用场景:scroll时间滚动触发搜索框输入查询表单验证按钮提交事件浏览器窗口缩放代码实现 可以参考B站Up主: 小野森森 test() { console.log(1); } div.onmouseover = debounce(test); // test 是我们的一原创 2021-03-22 11:59:34 · 559 阅读 · 0 评论 -
个人向前端知识“复健”(持续更新)
1.CORS2.Js垃圾回收机制3.Js原型链4.Angular框架5.Ts6.Es67.Http8.leetcode9.柯里化 简书大佬分析其中的例题牵扯到了 toString的隐式调用 隐式调用文章Array.prototype.slice.call(argument); ([].slice.call 这样可能更快?) 把argument转化为数组同理 可以使用 ES6的 Array.from()10.内存泄漏 闭包并不一定会导致内存泄漏 在 IE9+ 就不会11.清除浮动,原创 2021-03-08 23:17:48 · 231 阅读 · 7 评论 -
Js的this隐式绑定的坑, 丢失this绑定的几个简单例子
博主分享的这几个例子来自JS小黄书, 帮助大家理解JS的绑定原理前两个是可以隐式绑定的例子function foo(){ console.log(this.a);}var obj = { a:2, foo: foo};obj.foo(); // 2function foo(){ console.log(this.a);}var obj2 = { a:42, foo: foo}var obj1 = { a: 2, obj2: obj2};obj1.原创 2020-11-23 16:04:46 · 352 阅读 · 0 评论 -
JS的this词法
var obj = { id: "awesome", cool: function coolFn() { setTimeout(function (){ console.log("awesome?" + this.id); }, 100); },};var id = "not awesome";obj.cool();上面的代码我们新建了一个obj的对象, 其中 有方法cool和settimeout中的匿名方法, 如果正常执行的话原创 2020-11-05 16:26:40 · 166 阅读 · 0 评论 -
转发 酷家乐面经
作者:冲????链接:https://www.nowcoder.com/discuss/555166?type=all&order=time&pos=&page=1&channel=1009&source_id=search_all来源:牛客网首先夸奖一下酷家乐面试体验真的一流楼主学校base江苏 对酷家乐了解不深但面试过程非常圈粉 所有面试官给人感觉就是干实事,有技术,会引导,挖掘你的闪光点,很耐心。但今年开奖有点拉低好感????9.28 三面完(三轮转载 2020-11-04 16:54:44 · 746 阅读 · 0 评论 -
Js的模块机制
// 现代的模块机制var MyModules = (function Manager() { var modules = {}; function define(name, deps, impl) { for (var i = 0; i < deps.length; ++i) { deps[i] = modules[deps[i]]; } modules[name] = impl.apply(impl, deps); } function get原创 2020-11-04 12:00:51 · 170 阅读 · 0 评论 -
Js 的 setTimeout 无法每秒显示递增数字
这里还涉及了一点立即执行函数和闭包的知识, 我先上代码function abs() { for (var i = 0; i < 10; ++i) { setTimeout(() => { console.log(i); }, i * 1000); }}大家认为上述代码会执行什么, 正常预期应该是每秒执行1~10的数字但是实际上, 上述代码运行的时候会以每秒执行一次10这是为什么?因为setTimeout的回调会在循环结束时才执行,所以每次.原创 2020-11-03 11:19:53 · 309 阅读 · 0 评论 -
Js简单的回调函数和闭包结合小例子
偷个懒, 不解释了如果不懂或者有问题欢迎评论区提问,当然如果你有更好的例子也欢迎分享function callback(call){ console.log('运行callBack'); return function(){ console.log('运行到bar'); call(123); }}function takeIt(){ callback((msg) => { console.log(msg);.原创 2020-11-02 17:26:23 · 176 阅读 · 1 评论 -
JavaScript理解堆和栈
博主在思否上面找到一篇讲的不错的文章, 记录一下点这里跳转转载 2020-10-29 16:19:34 · 203 阅读 · 0 评论 -
JavaScript的for循环利用匿名函数依次输出i, 但是全部输出i的最终值
首先, 博主先分享一段 实现失败的代码var a=[];for(var i = 0;i<10;i++){ var q = i; a[i]=function(){console.log(q)}}a[0]() // 无论[] 中些什么都是输出的10由于上述问题, 博主陷入沉思,然后在一篇文章中得到灵感:https://blog.youkuaiyun.com/kai_l/article/details/50913505其中,由于for循环并不是一个函数体,所以for循环中定义的变量q和.原创 2020-10-29 15:25:05 · 496 阅读 · 0 评论 -
8道经典JavaScript面试题解析,你真的掌握JavaScript了吗?
原文链接:点击这里博主看到的特别好的文章, 转载一下 希望也能够帮助到大家转载 2020-10-29 13:19:40 · 179 阅读 · 0 评论 -
JavaScript->深浅拷贝的缺点
原文链接:点这里跳转引用类型值的赋值浅拷贝var arr1 = [1,2,3]var arr2 = arr1arr2[0] = -1console.log(arr1) // [-1, 2, 3]console.log(arr2) // [-1, 2, 3]Object.assign()对象里面第一层是基本类型进行深拷贝,对象引用类型进行浅拷贝var arr1 = {a:0, b: {c: 2}};var arr2 = Object.assign({}, arr1)转载 2020-10-29 13:17:13 · 330 阅读 · 0 评论 -
JS如何让递归后处理判断的时候为false就返回false,true就返回true?
今天在做LeetCode的 回文链表题时 发现了这个问题, 我在判断两个值不同的时候直接返回false, 但是递归在处理这个return false 是 跳过下面的语句,继续执行下一轮函数, 所以我当时人就傻了我先放代码 let cur; let checkList = ((head) => { if (head != null) { // 原来我是像下一行注解这么写的, 所以就遇到了那个问题 // checkList(head.next.原创 2020-10-23 10:53:56 · 1263 阅读 · 0 评论