Web前端入门第 71 问:JavaScript DOM 节点操作(增删改)常用方法
有一个深有体会的事:发现现在很多前端同学,经常用 Vue 开发项目之后,在某些需求场景要操作 DOM 节点的时,就不知道咋办了~~
以前接手过其他开发团队的项目,项目被漏洞扫描工具发现了异常,原因是用了一个 vue-video-player 插件用于播放视频,这插件又依赖了低版本的 video.js 插件,而扫描工具发现的异常就是低版本的 ...
Web前端入门第 70 问:JavaScript DOM 节点查找常用方法
虽然目前的开发场景基本都是使用 React/Vue/Angular 等框架,但是对于一些基础的 DOM 操作,还是需要了解学习。
曾经我们讨论过这样一个问题:Vue 这些开发框架,用它们渲染页面,真的就比不用开发框架快吗?
其实这个问题很好回答的,开发框架只是优化了项目的开发效率,对于浏览器的渲染速度,其实并没有想象中的那么快。 ...
Web前端入门第 69 问:JavaScript Promise 提供的方法都使用过吗?
Promise 这个 API 曾在 JS 领域掀起过血雨腥风,以前的大佬们都喜欢手搓一个自己的 Promise 用以理解 Promise 的原理。
Promise 的诞生,应该多少都有受到 jQuery 的异步方法 $.Deferred() 影响。
应用场景
Promise 唯一作用就是在处理异步耗时任务的时候,不要出现回调地狱。在没有 Promise 之前,一般使用 callback 来解 ...
Web前端入门第 68 问:JavaScript 事件循环机制中的微任务与宏任务
JS 是单线程语言。这句话对不对?
按照目前的情况来看,JS 自从支持了 Web Worker 之后,就不再是单线程语言了,但 Worker 的工作线程与主线程有区别,在 Worker 的工作线程中无法直接操作 DOM、window 对象或大多数浏览器 API(如 localStorage),Worker 的全局对象也不再是 window 对象,而是 self。
Worker 中的事件循 ...
在elementui,antDesign,antDesignVue中表格嵌套多个表单项校验
前言
在此记录下使用 elementui,antDesign,antDesignVue 的表格嵌套表单校验的一些经验。
要达到的目的是:有个多行表格,每一行有多个表单项(比如输入框),表单项填完值后,点击提交,校验表格中所有表单项,校验通过则将整个表格数据送到后台。还可以重新给表格赋值(比如进入详情页面)。效果如下:
正文
elementui ...
Web前端入门第 67 问:JavaScript 中的面向对象编程
此 对象 非彼对象啊,不要理解错了哦~~
面向对象编程 这个概念在 Java 编程语言中用得比较多,JS 同时支持 面向对象编程 和 函数式编程。
像大名鼎鼎的 React 和 Vue 他们都有两种开发风格,比如:
Vue 中的 组合式API 和 选项式API 也是两种编程模式的代表。
React 中的 函数式组件 和 类组件 就是两种编程模式的代表。
原 ...
Web前端入门第 66 问:JavaScript 作用域应用场景(闭包)
什么是作用域?
就像孙悟空给唐僧画个圈圈一样,这个圈圈就可以称之为作用域,这个比喻可能不太形象。
作用域和孙悟空的圈圈还是有点区别,作用域内部可以获得作用域外部的变量,而内部的变量无法逃逸到作用域外面,如果逃逸出去了,那就造成内存泄漏了,程序将会出现崩溃!
全局作用域
可以理解为就是放在 JS 最外层的那部 ...
改造jsp项目的alert框和confirm框
背景
之前项目的模态框改造完成,业务也想把页面中的提示框和确认框也改造一下;这里记录一下改造中的细节。
之前项目中的提示框和确认框用的是浏览器自带的 alert 和 confirm。改造之前无法支持业务一些复杂一点的需求,遂将之改造;
实现
弹框层级设计参考了 element 和 antd,默认样式也是复用了他们的样式。层级从父到 ...
Web前端入门第 65 问:JavaScript 函数参数各种使用方式
函数参数是什么?
就是函数内部无法确定的一个东西,需要外部传给函数内部的玩意儿,语法上就是写在函数括号中的东东。比如:
function test(a) {}
其中的 a 就是 test 函数的参数,在函数体内部,a 作为一个变量存在,可以修改它。
JS 的函数参数,真的是可以传入任意值,没有任何限制,可以包括 原始类型、对象,数组, ...
js中== 的隐式转化问题
如果是数据类型相同,相当于===
如果比较的值类型不同,则会按照下面的规则进行转换后再进行比较。
如果比较的一方是null或者undefined,只有在另一方是null或者undefined的情况下才返回“true”,否则返回“false”。
如果比较的是字符串和数值类型数据,则会将字符串转换为数值后再进行比较,如果转换后的数值相等则返 ...
Web前端入门第 64 问:JavaScript 几种函数定义方式有什么区别?
函数 作为 JS 的一等公民,随处可见它的身影。
我理解的它最主要作用就是用来提取重复代码,但凡有 JS 代码需要复制粘贴的时候,那么这时候就可以考虑使用函数封装了。
当函数写在对象中的时候,这时候它变了一个名字,称之为 方法。
function 声明
在使用 function 关键字声明函数时,需注意声明提升问题,意思就是 functi ...
重写IE的showModalDialog模态框以兼容现代浏览器
背景
之前有个项目是 jsp 的,之前都是在 IE 浏览器上运行,现在要将这个项目做兼容性改造(信创),需要兼容谷歌。所以需要将项目中的公共弹框给改掉,而项目中模态框基本上都是用的 showModalDialog。
介绍 showModalDialog
showModalDialog 是微软在早期版本的(IE)中引入的一个方法,用于创建模态对话框。不过在现代浏 ...
Web前端入门第 63 问:JavaScript 图解 for 循环执行顺序
神奇的 for 循环代码执行顺序并不是按照代码书写顺序执行,这就导致在看很多程序算法的时候,会有那么一点打脑壳。
for 语法
for 循环的语法很简单,重点是小括号里面的三个部分,这三部分的执行顺序对于不太懂程序的兄弟来说,可以把人晃晕~
for (初始化; 条件; 增量) {
// 循环体
}
初始化 部分仅在进入循环时候执行, ...
你认为Vonajs提供的这些特性会比Nestjs更好用吗?
Nestjs是一款非常强大的Node.js框架,而且入门非常容易,但是随着项目的增长,各种不便之处就会显现出来,许多代码书写起来不再像项目刚启动时直观。而Vonajs是一款全新的Node.js框架,提供了许多创新性的架构设计,让我们在开发任何规模的项目时,代码都能保持直观和优雅。下面,我们一起来看看这些特性,是否真的比nestjs ...
Web前端入门第 62 问:JavaScript 循环结构注意事项
HELLO,这里是大熊的前端开发笔记。
循环作为 算法与数据结构 中的基石,JS 与其他编程语言一样,都提供了多种循环结构用于处理数据。
for 循环
事物的开端往往都是从最常用的开始,循环结构咱们从 for 循环说起。
语法:
for (初始化; 条件; 增量) {
// ...
}
示例:
// 增量每次 +1
for (let i = 0; i < 10; i++) {
...
Web前端入门第 61 问:JavaScript 各种对象定义与对象取值方法
曾经有人说 JS 语言中万物皆对象,虽然这种说法不一定完全准确,但也有一定的道理。原因是 JS 的语法看起来所有的数据类型都像是一个对象,包括原始类型。
const a = 1.234;
console.log(a.toString());
console.log(a.valueOf());
console.log(a.toFixed(2));
console.log(Number.prototype); // 查看所有 Number 类型的原 ...
solitude组件wakatime编码时长侧边栏
本人博客原文
https://www.konoxin.top/posts/82e0e7c7/
前言
最近想在博客引入waketime的编码热力图,就研究了一下,
效果是这样的:
首先你已经使用过wakatime,
如果没有起前往如下教程,
{% link 'WakaTime的使用(vscode,idea,hbuilder)' 'WakaTime' 'https://juejin.cn/post/6981098690312142861' %}
教程
第一步
接 ...
Web前端入门第 60 问:JavaScript 各种数组定义与数组取值方法
数组可以算是程序里面最常用的数据结构了,但凡网页上任何一个列表数据,基本都是以数组的形式存在,像表格、banner图、菜单列表、商品列表,分类列表等等,在前端领域都是以数组处理。
数组的定义
JS 的数组花样很多,不像其他强类型语言中的数组限制颇多。
数组中的元素
JS 数组中的元素可以是任何类型,包括对象、数组、 ...
Web前端入门第 59 问:JavaScript 条件语句中善用 return 让代码更清晰
条件语句
JS 的条件语句不太多,就 if 和 switch 两个,不过他们的使用方式也可以算是眼花缭乱了。
if 语句
if 字面意思:如果 xxx。程序中的用法也是这样,如果条件为真,则执行执行代码块,反之则不执行。
语法:
if (条件) {
// 条件为真时执行
} else if (其他条件) {
// 前一个条件为假且当前条件为真时执行
} els ...
Web前端入门第 58 问:JavaScript 运算符 == 和 === 有什么区别?
运算符
JavaScript 运算符是真的多,尤其是 ES6 之后还在不停的加运算符,其他编程语言看 JS 就像怪物一样,各种骚操作不断~~
运算符分类
1、算术运算符
算术运算符的作用就是用来基础计算,跟小学课本一样,包含:加 +,减 -,乘 *,除 /,取余(也叫做取模) %,指数 **,自增 ++,自减 --。
只是需注意:乘号不再是 x, ...