js
文章平均质量分 53
oldfour_0830_9674
这个作者很懒,什么都没留下…
展开
-
js树形结构数据处理
【代码】js树形结构数据处理。原创 2023-05-19 14:46:24 · 419 阅读 · 0 评论 -
html中的js(script标签中的常用属性)
要包含外部 JavaScript 文件,必须将 src 属性设置为要包含文件的 URL。文件可以跟网页在同一台服务器上,也可以位于完全不同的域。 所有元素会依照它们在网页中出现的次序被解释。在不使用 defer 和 async 属性的情况下,包含在元素中的代码必须严格按次序解释。 对不推迟执行的脚本,浏览器必须解释完位于元素中的代码,然后才能继续渲染页面的剩余部分。原创 2022-09-14 17:19:34 · 736 阅读 · 0 评论 -
filter的理解是使用(日常复习)
filter():对数组每一项都运行传入的函数,函数返回 true 的项会组成数组之后返回原创 2022-07-01 16:51:45 · 115 阅读 · 0 评论 -
利用map的特性对数组进行操作
map的使用原创 2022-06-28 15:11:31 · 288 阅读 · 0 评论 -
作用域是什么?如何理解作用域。(日常笔记)
这个建筑代表程序中的嵌套作用域链。第一层楼代表当前的执行作用域,也就是你所处的 位置。建筑的顶层代表全局作用域。例子:包含着整个全局作用域,其中只有一个标识符:foo。包含着 foo 所创建的作用域,其中有三个标识符:a、bar 和 b。 包含着bar 所创建的作用域,其中只有一个标识符:c。函数作用域匿名和具名函数表达式:这种叫做:匿名函数表达式...原创 2022-06-17 16:41:51 · 537 阅读 · 0 评论 -
vue3中setup使用ref视图没有发生变化,记录自己的坑
在 Vue 3.0 中,我们可以通过一个新的 ref 函数使任何响应式变量在任何地方起作用原本以为代码是没有什么,而且打印也能看到showSearch的值发生变化,但视图没有任何响应。百度看了,也没看出问题。(估计是问题太低级了,这里是记入自己的坑)看了vue文案的案例:才后知后觉,是不是少了value这个属性没用上去。发现可以正常控制插件的显示了。原创 2022-06-01 10:40:48 · 2550 阅读 · 3 评论 -
js代理模式(日常笔记)
代理模式是一种非常有意义的模式,在生活中可以找到很多代理模式的场景。比如,明星都有经纪人作为代理。如果想请明星来办一场商业演出,只能联系他的经纪人。经纪人会把商业演出的细节和报酬都谈好之后,再把合同交给明星签。案例:小明追女神小明喜欢我们的女神,小明打算在一天后给女神表白。这时,小明打听到他们共同有一个好友小红,他把买来的花给了小红代替提交给女神。直接送花的小明var Flower = function (name) { this.name = name}var xiaoming.原创 2022-04-06 16:39:18 · 396 阅读 · 0 评论 -
实战中的策略模式(日常笔记)
表单验证的规则的实现基础实现手机号码的校验密码的长度的验证不小于6表单结构 <form action="http:// xxx.com/register" id="registerForm" method="post"> 请输入手机号码:<input type="text" name="phoneNumber" /> 请输入密码:<input type="text" name="password" /> <button&g原创 2022-03-30 15:26:43 · 214 阅读 · 0 评论 -
js的策略模式(日常笔记)
条条大路通罗马策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。初探策略模式问题:绩效为 S 的人年终奖有 4 倍工资,绩效为 A 的人年终奖有 3 倍工资,而绩效为 B 的人年终奖是 2 倍工资。代码实现:// 定义一个方法var calculateBonus = function(performanceLevel,salary){ if(performanceLevel==='S'){ return salary*4 }.原创 2022-03-22 17:18:20 · 299 阅读 · 0 评论 -
单例模式(日常笔记1)
定义单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。生活中例子当我们在电脑上玩经营类的游戏,经过一番眼花缭乱的骚操作好不容易走上正轨,夜深了我们去休息,第二天打开电脑,发现要从头玩,立马就把电脑扔窗外了,所以一般希望从前一天的进度接着打,这里就用到了存档。每次玩这游戏的时候,我们都希望拿到同一个存档接着玩,这就是属于单例模式的一个实例。使用的场景有一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的 window 对象等。实现单例模式要实现一个标准原创 2022-03-11 17:53:16 · 1472 阅读 · 0 评论 -
动态数据和鸭子模型(笔记)
编程语言按照数据类型大体可以分为两类,一类是静态类型语言,另一类是动态类型语言。静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量类型要到程序运行的时候,待变量被赋予某个值之后,才会具有某种类型。静态类型语言的优点首先是在编译时就能发现类型不匹配的错误,编辑器可以帮助我们提前避免程序在运行期间有可能发生的一些错误。其次,如果在程序中明确地规定了数据类型,编译器还可以针对这些信息对程序进行一些优化工作,提高程序执行速度。静态类型语言的缺点首先是迫使程序员依照强契约来编写程序,为每个变量规原创 2022-03-01 17:11:13 · 105 阅读 · 0 评论 -
apply,call,bind的理解和使用
call、apply 和 bind 是挂在 Function 对象上的三个方法,调用这三个方法的必须是一个函数。原创 2022-02-09 16:27:25 · 608 阅读 · 0 评论 -
重新理解prominse(巩固基础)(一)
同步编程与异步编程同步行为和异步行为的对立统一是计算机科学的一个基本概念。异步行为是为了优化因计算量大而时间长的操作。同步行为与异步行为同步操作的例子可以是执行一次简单的数学计算:let x = 3;x = x + 4;异步操作的例子可以是在定时回调中执行一次简单的数学计算:let x = 3;setTimeout(() => x = x + 4, 1000);同步行为对应内存中顺序执行的处理器指令。每条指令都会严格按照它们出现的顺序来执行,而每条指令执行后也能立即获得存储原创 2022-01-18 18:01:55 · 735 阅读 · 0 评论 -
es5程序设计(如何把代码写到一眼看不懂)
案例:计算器的实现代码普通人怎么写的:html部分<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&g原创 2021-10-15 16:14:33 · 161 阅读 · 0 评论 -
你需要知道的 JavaScript 优化技巧(大自然搬运工)
多个条件的判断//普通写法if (x === 'abc' || x === 'def' || x === 'ghi' || x ==='jkl') {//logic}//简写方法if (['abc', 'def', 'ghi', 'jkl'].includes(x)) { //logic}If true … else简写方法// 普通方法let test= boolean;if (x > 100) {test = true;} else {test = fa.原创 2021-10-09 18:07:48 · 107 阅读 · 0 评论 -
es6中class一些简单用法
ES6 的class可以看作只是一个ES5生成实例对象的构造函数的语法糖。它参考了java语言,定义了一个类的概念,让对象原型写法更加清晰,对象实例化更像是一种面向对象编程。Class类可以通过extends实现继承。它和ES5构造函数的不同点类的内部定义的所有方法,都是不可枚举的///ES5function ES5Fun (x, y) { this.x = x; this.y = y;}ES5Fun.prototype.toString = function () { return .原创 2021-10-08 16:06:20 · 548 阅读 · 0 评论 -
笔记--选择排序
从未排序的序列中找到最大(或最小的)放在已排序序列的末尾(为空则放在起始位置),重复该操作,知道所有数据都已放入已排序序列中。 function soloceSort(arr) { let length = arr.length, indexMin for (let i = 0; i < length - 1; i++) { indexMin = i for (let j = i; j < length; j++.原创 2021-08-17 17:25:22 · 85 阅读 · 0 评论 -
笔记--冒泡排序
从左到右,相邻元素进行比较,如果前一个元素值大于后一个元素值(正序),则交换,这样一轮下来,将最大的数在最右边冒泡出来。这样一轮一轮下来,最后实现从小到大排序。 function bubbleSort(arr) { for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1.原创 2021-08-17 11:53:18 · 93 阅读 · 0 评论 -
apply/call/bind 原理
callapplybind参数多个单个数组多个功能改变this指向改变this指向改变this指向返回结果直接执行直接执行返回待执行函数call、apply 和 bind 是挂在 Function 对象上的三个方法,调用这三个方法的必须是一个函数。在浏览器里,在全局范围内this 指向window对象; 在函数中,this永远指向最后调用他的那个对象;构造函数中,this指向new出来的那个新的对象; call、apply、bind中的t...原创 2021-08-13 11:45:32 · 182 阅读 · 0 评论 -
每天一道面试题——闭包
一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。闭包其实就是一个可以访问其他函数内部变量的函数。创建闭包的最常见的方式就是在一个函数内创建另一个函数,创建的函数可以 访问到当前函数的局部变量。简单的例子 function bibao() .原创 2021-07-29 11:55:33 · 453 阅读 · 0 评论 -
数组常见的es5的方法,不包含遍历方法(toString,jion,pusp,pop,unshift,shift)
/** * pusp 在数组最后一位添加 返回数组增加后的长度 * pop 在数组最后一位删除 返回被删除的值 * * unshift 在数组第一位添加 返回数组增加后的长度 * shift 在数组最后一位删除 返回被删除的值 */原创 2021-05-13 19:19:53 · 328 阅读 · 1 评论 -
VUE的数据的代理,原生实现
> vue中的对象代理例子? data(){ return{ a:1, b:2 } } 想要实现的效果 var vm = new VUE({ data(){ return{ a:1, b:2 } }a }) 必要性 可以通过vm访问到VUE构造函数中的data,并且执行怎么能通过con..原创 2021-05-13 02:27:28 · 296 阅读 · 0 评论 -
vue实现过滤并且替换敏感词,将长字符串转化成...的形式,将秒转化成XX:XX的形式
使用vue的全局过滤敏感词// 铭感词过滤export const judgeBadWord = (str) => { const badWord = JSON.parse(sessionStorage.getItem('list')) const newArr = [] badWord.forEach(item => { newArr.push( { sensitiveWord: item.sensitiveWord, rep原创 2021-04-02 11:36:29 · 1891 阅读 · 0 评论 -
4种文字特效动画(跳动,翻转,缩放,发光)
效果展示代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>文原创 2021-03-15 01:16:08 · 1008 阅读 · 0 评论 -
js中如何去给一个对象通过后台数据动态添加键和键值
运截图,直接上代码方法比较笨,但能够实现。 const { data } = res this.alertData = data const obj = new Object() data.map(item => { obj[item.name] = item.count this.alertType = obj })通过 new object去创建一个新的对象,通过 obj[原创 2020-12-28 17:21:51 · 1251 阅读 · 0 评论 -
微博文字字数限制(一天一个小案例)
设置文字的最大数使用oninput事件判断数字是否大于最大数利用输入框自带的属性maxlength<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</titl.原创 2020-12-19 00:17:23 · 896 阅读 · 1 评论 -
怎么理解call,apply和bind的作用和区别?自己手动实现call,apply和bind.
怎么理解call,apply和bind的作用和区别?call,apply,bind都是用来改变this的指向call和apply的区别传入的参数方式不相同,bind是返回一个新的函数,再执行调用。首先看一下用法 function fn(a, b) { console.log(a, b, this, arguments.length); return a, b } const obj = { m: 3 } .原创 2020-11-16 23:15:55 · 297 阅读 · 1 评论 -
原生jsops的使用
1.创建一个script节点var os=document.createElement(“script”);2.给script的src赋值os.src=“url”3.将节点插入到页面document.body.appendChild(os)4.回调函数处理数据回调函数必须是全局的函数案列<div> <input type="text"> <ul> <!-- <li></l.原创 2020-11-13 01:52:52 · 181 阅读 · 0 评论 -
自己理解的构造函数(笔记)
JavaScript对象的创建方式简单的对象书写 const obj = { name: 'zhangsan', age: 18, call() { console.log('hello'); } } 在对象添加一个属性 obj.sex = 'man' console.log(obj, '在对象添加一个属性'); 在对象里面删除一个属性 delete obj.name consol原创 2020-11-07 19:06:22 · 110 阅读 · 0 评论 -
懂错误,更懂得代码,js常见的4种错误类型
错误信息是很重要的,看懂错误的信息,让我们更加懂得代码SyntaxError:语法错误 var 1a // Uncaught SyntaxError: Invalid or unexpected token function = 5 // Uncaught SyntaxError: Invalid or unexpected token这种错误类型,通常在编译的时候我们就可以发现了。Uncaught ReferenceError:引用错误 str() //Refere.原创 2020-11-02 17:56:55 · 240 阅读 · 2 评论