
JS
js基础
初心w50t2
一不小心就走过了这么多年
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
fingerprintjs/botd爬虫监听
本文介绍了如何通过FingerprintJS的BotD库检测爬虫访问。首先通过npm安装库,然后创建一个工具函数加载BotD并执行检测,返回结果包含是否为爬虫及类型。在页面中调用该函数,当检测到爬虫访问时可上报至服务器。这种方案能有效识别自动化脚本访问,保障应用安全。原创 2025-08-01 11:37:50 · 235 阅读 · 0 评论 -
iframe嵌套 redirect中转页面 route跳转
项目A通过iframe嵌套项目B的多个页面时,为解决不同页面路径和参数的问题,项目B实现了一个中转方案。核心思路是:1)在项目B中创建/redirect/:path*路由,匹配任意路径;2)redirect.vue组件获取当前路由参数后,重定向到目标路径;3)App.vue监听路由变化,将所有请求先跳转到/redirect路径。该方案通过路由重定向实现了对嵌套页面的统一管控,解决了多页面、多参数的iframe嵌套问题,代码简洁高效。原创 2025-06-30 17:16:30 · 263 阅读 · 0 评论 -
iframe: 通过postMessage与addEventListener实现父子页面通信
摘要:本文介绍了通过iframe嵌套的父子项目间通信的实现方案。子项目使用window.parent.postMessage()向父项目发送包含动作类型和参数的消息数据,父项目通过监听message事件接收并处理特定动作。当子项目执行CookieExpiration操作时,父项目会收到通知并进行相应处理。该方法实现了跨iframe的页面通信。原创 2025-06-26 15:46:33 · 91 阅读 · 0 评论 -
Vue:iframe父页面通知外部子页面之postMessage与addEventListener
通过iframe嵌套实现父子项目间的通信:父项目使用postMessage发送"refresh"消息,子项目通过监听message事件接收并处理刷新操作。这种方法实现了跨项目间的安全通信,无需直接访问DOM,适用于不同域名的项目交互。核心代码简洁明了,父组件通过$refs获取iframe引用发送消息,子页面在mounted时设置监听器响应消息。原创 2025-06-26 15:32:56 · 93 阅读 · 0 评论 -
vue项目打包报错normalize-package-data/lib/fixer throw new Error(‘Invalid version: “‘+ data.version + ‘“‘)
normalize-package-data\lib\fixer.js里的fixVersionField方法主要检查和修正package.json中的version字段。这个字段通常遵循语义化版本控制(Semantic Versioning,简称SemVer)的规则,即版本号格式为【主版本号.次版本号.修订号】原创 2025-01-23 10:45:25 · 507 阅读 · 0 评论 -
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of me
vue项目报错FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - - JavaScript heap out of memory原创 2025-01-14 18:07:49 · 3570 阅读 · 0 评论 -
前端开发TS ts
ts基础原创 2024-08-13 15:37:24 · 306 阅读 · 0 评论 -
js 数组相关的方法集合
js数组相关的方法集合原创 2024-08-09 16:28:32 · 388 阅读 · 0 评论 -
.vscode文件夹的作用
.vscode原创 2024-06-19 09:41:06 · 534 阅读 · 0 评论 -
一个对象数组按照另一个对象数组的某一项排序
一个对象数组按照另一个对象数组的某一项排序原创 2024-03-01 17:24:28 · 234 阅读 · 0 评论 -
ES6笔记
ES6标准入门原创 2023-03-15 16:31:51 · 769 阅读 · 0 评论 -
前端面试题总结
1.输入完网址,按下回车键到看到网页这个过程中发生了什么?域名解析发起TCP的三次握手建立TCP连接后发起http请求服务器端响应http请求,浏览器得到html代码浏览器解析html代码,并请求html代码中的资源浏览器对页面进行渲染呈现给用户2.谈谈你对前端性能优化的理解请求数量:合并脚本和样式表,CSS sprites,拆分初始化负载,划分主域请求带宽:开启GZip,精简j...原创 2019-12-18 18:07:49 · 196 阅读 · 0 评论 -
jQuery基础
一.【jquery简介】1.1为什么要学jQuery?1.2jQuery是什么?jQuery是js的一个库,封装了我们开发过程中常用的一些功能,方便我们来调用,提高了我们的开发效率。Js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里面来就可以了。1.3如何使用jQuery?使用步骤:(1).引包(2).入口函数(3).功能实现代码(事件处理)二.【j...原创 2019-12-18 16:12:03 · 250 阅读 · 0 评论 -
使用js代码将一个值为“1=增量,2=全量“的字符串转化为一个数组,数据格式为[{value:““,label:“‘‘}]
使用js代码将一个值为"1=增量,2=全量"的字符串转化为一个数组,数据格式为[{value:"",label:"''}]原创 2023-10-09 15:01:30 · 178 阅读 · 0 评论 -
require.context 的使用
require.context 的使用原创 2023-09-22 18:48:09 · 211 阅读 · 0 评论 -
nginx 部署前端项目
nginx部署前端项目原创 2023-09-21 11:20:50 · 395 阅读 · 0 评论 -
js中的bind call apply你了解多少
apply( ) 接收两个参数,第一个参数表示this要指向的对象,第二参数表示调用函数需要传入的参数所组成的数组,返回调用函数的返回结果;call( ) 接收一个及其以上的参数,第一个参数表示this要指向的对象,其余参数表示调用函数需要传入的参数,返回调用函数的返回结果;bind( ) 接收一个及其以上的参数,和call()一致,但是其返回是一个函数,而不是调用函数的返回结果;call,apply,bind的作用:改变函数执行时的上下文,即改变函数内部的this指向。原创 2023-05-05 16:22:56 · 74 阅读 · 0 评论 -
【前端】封装组件的步骤(函数思想)
准备好组件的数据输入。即根据组件逻辑,定好 props 里面的数据及类型。(在子组件内部,使用props选项声明获取的数据,即接收来自父组件中的数据)准备好组件的数据输出。即根据组件逻辑,做好要暴露出来的方法。建立组件的模板,先搭架子,写样式,考虑好组件的基本逻辑。封装完毕,直接调用即可。原创 2023-04-07 15:02:11 · 1171 阅读 · 0 评论 -
js之深拷贝和浅拷贝
JS之浅拷贝和深拷贝原创 2023-03-13 14:59:42 · 95 阅读 · 0 评论 -
JS 之call()、apply()、bind()
call()、apply()、bind()都是用于改变this指向的方法,不同点是传参方式不同以及返回结果不同。原创 2023-03-13 14:50:29 · 126 阅读 · 0 评论 -
js修改组件原生样式—深度选择器::v-deep
::v-deep{},它可以深入修改组件的原生样式原创 2023-03-09 16:38:07 · 562 阅读 · 0 评论 -
JS数组求和
js数组求和原创 2023-02-13 18:23:36 · 86 阅读 · 0 评论 -
前端之Promise与回调地狱
有时候我们会遇到一个请求的参数是上一个请求的结果,这时候就需要等上一个请求执行完毕,得到结果之后再去调下一个请求;如果这种操作很多的话,就会导致回调地狱,这时候就需要使用到Promise。举个例子:getInfoById(){ return new Promise( (resolve, reject)=> { cart.getInfo().then(result => { if(result){ resolve(result) } });原创 2021-09-10 20:01:52 · 258 阅读 · 0 评论 -
js之回调函数
js的回调函数例如draw方法是一个绘图的函数,现在我们调用这个draw方法,希望在图形绘制完成之后,我们能够进行其他的操作,为了保证这个操作是在绘图完成之后调用的。这时候就需要使用回调函数,将fun作为参数传递进draw,然后再draw函数执行完成之后,调用这个传递的fun方法;举个例子:// fun函数fun() {},// draw函数draw(callback) { // 当前函数的操作 callback && callback()}this.draw(原创 2021-09-10 19:35:48 · 181 阅读 · 0 评论 -
JS异步和单线程举例
JS 需要异步的根本原因是 JS 是单线程运⾏的,即在同⼀时间只能做⼀件事,不能“⼀⼼⼆⽤”。⼀个 Ajax 请求由于⽹络⽐较慢,请求需要 5 秒钟。如果是同步,这 5 秒钟⻚⾯就卡死在这⾥啥也做不了了。异步的话,就好很多了,5 秒等待就等待了,其他事情不耽误做,⾄于那 5 秒钟等待是⽹速太慢,不是因为 JS 的原因。讲到单线程,我们来看一个真题:题⽬:讲解下⾯代码的执⾏过程和结果var ...原创 2020-04-14 10:20:30 · 151 阅读 · 0 评论 -
原型及原型对象
举例:<script>function Students(){ //这就是一个构造函数} //new一个实例对象var stu=new Students();</script>1.构造函数:就是在script标签里面声明的那个函数Students.2.原型对象:在声明了一个函数之后,浏览器会自动按照一定的规则创建一个对象,这个对象就叫做原型对象。这个原型...原创 2019-12-18 16:51:35 · 445 阅读 · 0 评论 -
js深度拷贝与浅度拷贝
如果你想真正自己理解和运用深度克隆的话,首先必须要了解的就是js中的原始值和引用值,以及它们的储存位置及方式。这里简单的说一下,原始值是存储在栈里的,而且存储的是变量的实际值。引用值存储在堆里,且存储的是一个指针,该指针指向内存中的某个位置,该位置存储变量的实际值。浅度拷贝var a = 2 ;var a_copy = a ;a_copy = 3;console.log(a);va...转载 2019-10-21 16:47:22 · 177 阅读 · 0 评论 -
JS之new一个对象的过程
new一个对象function Person(name , age , sex){ this.name = name ; //共有变量 this.age = age ; this.sex = sex ; this.show = function (){ console.log("I am "+this.name,"I am "+this.ag...原创 2019-10-21 11:51:53 · 173 阅读 · 0 评论