网页上各种炫酷的交互效果离不开各种 DOM 事件 的支持,在写这篇文章之前,一度以为 JS 的事件绑定/取消方式就我知道的那几种,翻阅文档之后才发现,知识面还是有待提升,多翻翻文档,就像发现新大陆一样~~ 常用事件 鼠标事件: click:鼠标左键单击 dblclick:鼠标左键双击 mousedo ...
当项目的安全团队找上门告诉您,您开发的项目存在 XSS 安全漏洞,作为一个开发人员,就问您慌不慌?? HTML 内容写入的时候,如果稍不注意就会触发隐藏 BOSS 漏洞 XSS。 XSS 漏洞原理就是利用了网站上内容输入的地方,比如说常见的评论提交,老六 通过输入评论的地方,提交一些 包含 JS 代 ...
有一个深有体会的事:发现现在很多前端同学,经常用 Vue 开发项目之后,在某些需求场景要操作 DOM 节点的时,就不知道咋办了~~ 以前接手过其他开发团队的项目,项目被漏洞扫描工具发现了异常,原因是用了一个 vue-video-player 插件用于播放视频,这插件又依赖了低版本的 video.js ...
虽然目前的开发场景基本都是使用 React/Vue/Angular 等框架,但是对于一些基础的 DOM 操作,还是需要了解学习。 曾经我们讨论过这样一个问题:Vue 这些开发框架,用它们渲染页面,真的就比不用开发框架快吗? 其实这个问题很好回答的,开发框架只是优化了项目的开发效率,对于浏览器的渲染速 ...
Promise 这个 API 曾在 JS 领域掀起过血雨腥风,以前的大佬们都喜欢手搓一个自己的 Promise 用以理解 Promise 的原理。 Promise 的诞生,应该多少都有受到 jQuery 的异步方法 $.Deferred() 影响。 应用场景 Promise 唯一作用就是在处理异步耗 ...
JS 是单线程语言。这句话对不对? 按照目前的情况来看,JS 自从支持了 Web Worker 之后,就不再是单线程语言了,但 Worker 的工作线程与主线程有区别,在 Worker 的工作线程中无法直接操作 DOM、window 对象或大多数浏览器 API(如 localStorage),Wor ...
前言 在此记录下使用 elementui,antDesign,antDesignVue 的表格嵌套表单校验的一些经验。 要达到的目的是:有个多行表格,每一行有多个表单项(比如输入框),表单项填完值后,点击提交,校验表格中所有表单项,校验通过则将整个表格数据送到后台。还可以重新给表格赋值(比如进入详情 ...
此 对象 非彼对象啊,不要理解错了哦~~ 面向对象编程 这个概念在 Java 编程语言中用得比较多,JS 同时支持 面向对象编程 和 函数式编程。 像大名鼎鼎的 React 和 Vue 他们都有两种开发风格,比如: Vue 中的 组合式API 和 选项式API 也是两种编程模式的代表。 React ...
什么是作用域? 就像孙悟空给唐僧画个圈圈一样,这个圈圈就可以称之为作用域,这个比喻可能不太形象。 作用域和孙悟空的圈圈还是有点区别,作用域内部可以获得作用域外部的变量,而内部的变量无法逃逸到作用域外面,如果逃逸出去了,那就造成内存泄漏了,程序将会出现崩溃! 全局作用域 可以理解为就是放在 JS 最外 ...
背景 之前项目的模态框改造完成,业务也想把页面中的提示框和确认框也改造一下;这里记录一下改造中的细节。 之前项目中的提示框和确认框用的是浏览器自带的 alert 和 confirm。改造之前无法支持业务一些复杂一点的需求,遂将之改造; 实现 弹框层级设计参考了 element 和 antd,默认样式 ...
函数参数是什么? 就是函数内部无法确定的一个东西,需要外部传给函数内部的玩意儿,语法上就是写在函数括号中的东东。比如: function test(a) {} 其中的 a 就是 test 函数的参数,在函数体内部,a 作为一个变量存在,可以修改它。 JS 的函数参数,真的是可以传入任意值,没有任何限 ...
如果是数据类型相同,相当于 如果比较的值类型不同,则会按照下面的规则进行转换后再进行比较。 如果比较的一方是null或者undefined,只有在另一方是null或者undefined的情况下才返回“true”,否则返回“false”。 如果比较的是字符串和数值类型数据,则会将字符串转换为数值后再进 ...
函数 作为 JS 的一等公民,随处可见它的身影。 我理解的它最主要作用就是用来提取重复代码,但凡有 JS 代码需要复制粘贴的时候,那么这时候就可以考虑使用函数封装了。 当函数写在对象中的时候,这时候它变了一个名字,称之为 方法。 function 声明 在使用 function 关键字声明函数时,需 ...
背景 之前有个项目是 jsp 的,之前都是在 IE 浏览器上运行,现在要将这个项目做兼容性改造(信创),需要兼容谷歌。所以需要将项目中的公共弹框给改掉,而项目中模态框基本上都是用的 showModalDialog。 介绍 showModalDialog showModalDialog 是微软在早期版 ...
神奇的 for 循环代码执行顺序并不是按照代码书写顺序执行,这就导致在看很多程序算法的时候,会有那么一点打脑壳。 for 语法 for 循环的语法很简单,重点是小括号里面的三个部分,这三部分的执行顺序对于不太懂程序的兄弟来说,可以把人晃晕~ for (初始化; 条件; 增量) { // 循环体 } ...
Vonajs是一款全新的Node.js框架,提供了许多创新性的架构设计,让我们在开发任何规模的项目时,代码都能保持直观和优雅。下面,我们一起来看看这些特性,是否真的比nestjs更好用? ...
HELLO,这里是大熊的前端开发笔记。 循环作为 算法与数据结构 中的基石,JS 与其他编程语言一样,都提供了多种循环结构用于处理数据。 for 循环 事物的开端往往都是从最常用的开始,循环结构咱们从 for 循环说起。 语法: for (初始化; 条件; 增量) { // ... } 示例: // ...
曾经有人说 JS 语言中万物皆对象,虽然这种说法不一定完全准确,但也有一定的道理。原因是 JS 的语法看起来所有的数据类型都像是一个对象,包括原始类型。 const a = 1.234; console.log(a.toString()); console.log(a.valueOf()); con ...
本人博客原文 https://www.konoxin.top/posts/82e0e7c7/ 前言 最近想在博客引入waketime的编码热力图,就研究了一下, 效果是这样的: 首先你已经使用过wakatime, 如果没有起前往如下教程, {% link 'WakaTime的使用(vscode,id ...
数组可以算是程序里面最常用的数据结构了,但凡网页上任何一个列表数据,基本都是以数组的形式存在,像表格、banner图、菜单列表、商品列表,分类列表等等,在前端领域都是以数组处理。 数组的定义 JS 的数组花样很多,不像其他强类型语言中的数组限制颇多。 数组中的元素 JS 数组中的元素可以是任何类型, ...