![](https://img-blog.csdnimg.cn/33b4c545b0934bb093ab6c0f7d38b130.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaScript
文章平均质量分 63
JavaScript
不甜呐
天空越黑 星星越亮
展开
-
回流(重排)和重绘
描述: 重绘:页面中元素发生可见性变化(比如颜色等),导致页面重新渲染的现象称为重绘。 回流(重排):页面中元素发生位置和尺寸的变化,导致部分页面回整个页面重新加载的现象称为回流(重排)。 说明: (1) 回流(重排)必将引起重绘,但重绘不一定会引起回流(重排)。 (2) 这两个现象都是浏览器加载页面是可能导致加载变慢的问题,就要尽可能避免。 减少回流和重绘的途径 描述:因为页面中各种操作基本都会引发回流和重绘,因此完全避免是不可能的。所以为了提高浏览器的性能,我..原创 2022-04-27 09:04:21 · 1328 阅读 · 1 评论 -
获取某年某月的最后一天
在写项目中,有这样一个需求:用户输入年月后,输入框自动显示这年这月的最后一天。像我们熟知的"一三五七八十腊,三十一天永不差",再除去二月份,其余的都是三十天。可能麻烦的就是如果用户输入的是二月,那么我们需要做一系列的判断比如:先判断输入的是不是二月,然后判断这年是闰年还是平年,最后判断是28天还是29天。我觉得还是简单点比较好哒<!DOCTYPE html><html lang="en"><head> <meta charset="UTF原创 2022-02-25 09:23:13 · 736 阅读 · 0 评论 -
Object的相关方法 和 js遍历对象的三种方式
这篇文章分享的主要是以下方法的基本用法,想要更加深入了解这些方法的朋友,请参考MND目录Object的相关方法Object.hasOwnProperty()Object.defineProperty()Object.defineProperties()Object.assign()Object.keys()Object.create()Object.entries()Object.values()Object.freeze()Object.is()...原创 2021-10-15 17:14:50 · 3029 阅读 · 0 评论 -
预解析 和 以name作为变量名出现的一些问题
1.预解析的相关概念JavaScript代码是由浏览器的JavaScript解析器来执行的。JavaScript解析器在运行JavaScript代码的时候分为两步:预解析和代码执行。预解析:在当前作用域下,js代码执行之前,浏览器会默认把带有var和function声明的变量在内存中进行提前声明或者定义。预解析也叫做变量声明、函数声明提升。代码执行:从上到下执行js语句。2.预解析要做的事情1.变量预解析变量预解析(变量声明提升):把变量的声明提前到了当前所在的作用域的最上面,但是变原创 2021-10-01 15:04:22 · 397 阅读 · 0 评论 -
自调用(自执行)函数的五种写法
定义函数的方式分为两种,一种是函数的声明,另一种是函数表达式(匿名函数)。请看下面的例子://第一种:函数的声明 需要函数名function func() { console.log("我是第一种定义函数的方式");};//第一种:函数表达式(匿名函数) 需要定义变量接收const aa = function (){ console.log("我是第二种定义函数的方式");};在js中经常需要一个函数自调用,自调用的函数一般都是匿名函数,所以这里也称为匿名函数的自调用(自执行)。原创 2021-09-28 10:18:07 · 5184 阅读 · 2 评论 -
js中常见的error类型和error处理
1.错误类型Error:所有错误的父类型ReferenceError:引用的变量不存在/* ReferenceError:引用的变量不存在 */console.log(a);//ReferenceError: a is not definedconsole.log("出错之后");//没有输出注意:如果代码出现报错,后面的程序不会继续执行。如果没有得到预期的结果时,注意查看此前是否报错。如果想出现报错后,依旧继续执行程序,可以参考下面捕获错误代码。TypeError:数据类型错原创 2021-09-25 18:09:55 · 4220 阅读 · 0 评论 -
数组对象去重的四种方式(强推最后一种!!!)
数组对象去重(强烈推荐最后一种!!!)原创 2021-09-20 00:04:04 · 54776 阅读 · 4 评论 -
js、jq遍历数组和对象
js遍历数组1.普通for循环var arr = [1,4,45,34,12,45,56,8];for ( var i = 0; i <arr.length; i++){ console.log(arr[i]);};2.优化的for循环:将数组的长度存储起来,避免重复获取长度,数组越大时优化效果越明显var arr = [1,4,45,34,12,45,56,8];var len = arr.length;for ( var i = 0; i <len; i+原创 2021-09-12 19:38:55 · 817 阅读 · 2 评论 -
js常见案例总结(一)
1.变量的交换:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>变量的交换</title> </head> <body> <script type="text/javascript"> //变量交换的第一个思路:使用第三方的变量进行交换 var num1 = 10; var num2 =原创 2021-09-04 09:37:42 · 527 阅读 · 0 评论 -
IE下常用的事件绑定的方式
1.html事件描述:在IE下html事件绑定方式等同于非IE、详情请看:2.dom0事件描述:在IE下dom0事件绑定方式等同于非IE 详情请看:3.dom2事件描述:在IE下通过attachEvent函数绑定的事件,称为dom2事件 语法:元素节点.attachEvent('type',listenFunc) 说明:(1)参数一表示绑定事件的类型,有on!!(2)参数二表示事件发生时执行的监听函数注意:(1)在...原创 2021-06-22 22:07:09 · 736 阅读 · 0 评论 -
非IE下常用的事件绑定的方式
1.html事件(html级事件)描述:绑定发生在html代码中的事件,称为html事件语法:on+事件名 = '函数名1();函数名2();...';注意: (1)所有html事件都采用冒泡传递 (2)函数执行顺序按照顺序为准 (3)绑定多个函数的时候,函数应当采用分号隔开,而不是以分号结尾移除:on+事件名 = null;弊端: (1)耦合性太强 (2)如果绑定函数未能正确...原创 2021-06-10 23:01:08 · 177 阅读 · 0 评论 -
JavaScript的三种弹窗
JavaScript的弹窗有三种——原创 2021-06-01 15:33:16 · 8277 阅读 · 2 评论 -
js的间隔调用和延迟调用
计时事件原创 2021-06-03 20:34:49 · 2224 阅读 · 0 评论 -
数组去重的四种常用方式
1.双层for循环去重思想:定义一个空数组,原创 2021-05-30 14:22:02 · 220 阅读 · 0 评论 -
js中数组排序的五种方式
1.Javascript的sort方法,本方法的原理是冒泡排序,这里默认从小到大排序<script> var arr = [23,13,34,65,65,45,89,13,1]; var newArr = arr.sort(function(a,b){ return a - b; }); console.log(newArr);//输出结果 [1, 13, 13, 23, 34, 45, 65, 65, 89]</script>2....原创 2021-05-29 14:50:57 · 84621 阅读 · 4 评论 -
数组的常用操作方法
1.sort()描述:能根据提供的排序规则,对数组元素进行排序 排序顺序可以是字母或数字,并按升序或降序,默认排序顺序为按字母升序。 使用数字排序,你必须通过一个函数作为参数来调用。语法:arr.sort(排序规则);注意: (1)如果不写参数,默认按照编码方式(Unicode大小)进行排序 (2)本方法会改变原数组的结构兼容性:所有主要浏览器都支持var arr = [243,123,567,453,54,34,...原创 2021-05-28 13:04:29 · 714 阅读 · 0 评论 -
数组的概述、属性及特点
一、数组概述描述:使用单独的变量名来存储一系列的值【数组下标从0开始】数组的创建: (1)常规方式(new关键字) var names = new Array(); names[0] = "Lily"; names[1] = "Lucy"; names[2] = "John";... (2)简洁方式 ...原创 2021-05-27 22:00:03 · 1728 阅读 · 0 评论 -
字符串的其他方法
1.split()描述:本方法能够将字符串按照指定的符号进行分割,并将切割后的子字符串构成一个数组返回语法:str.split('分隔符',limit);参数: (1)第一个参数是可选参数,可填字符串或表达式 (2)第二个参数是可选参数。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子字符串 不会对于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度 注意: ...原创 2021-05-26 20:36:10 · 143 阅读 · 0 评论 -
字符串截取和查找
字符串的截取1.substr()语法:str.subStr(fromIndex,strLength);注意: (1)本方法不会改变原始字符串 (2)如果第一个参数参数是负数则表示尾部开始算起(-1表示倒数第一个元素) (3)substr()方法的两个参数不能互换位置 (4)substr()的参数指定的是子串的开始位置和长度,因此它可以替代 substring()和 slice()来使用 (5)在 ...原创 2021-05-25 21:32:21 · 499 阅读 · 0 评论 -
字符串概述和属性
1.字符串描述:由单引号或者双引号包裹起来的,零个或多个排列在一起的字符构成的结构创建方式:var 变量名 = '字符串内容';注意: (1)字符串必须在一行内定义,不能分成多行 如果必须分成多行定义,可以采用【在一行末尾添加\】作为连接符 (2)还能通过"+"号作为连接符.分成多行定义字符串2.字符串对象描述:字符串除了用引号定义之外,还能通过new命令创建语法: var strObj = new String('字符串...原创 2021-05-23 16:24:48 · 428 阅读 · 0 评论 -
document节点创建页面元素
1.createElement()方法描述:本方法用来在内存中创建一个页面元素语法:var 变量名 = document.createElement("标签名"); 注意:本方法创建的页面元素并不会直接显示在页面中,而是默认存在于内存中 兼容性:五大主流浏览器都支持2.createTextNode()方法描述:本方法可创建文本节点语法:var 变量名 = document.createTextNode(text);兼容性:五大主流浏览器都...原创 2021-05-21 11:09:46 · 3309 阅读 · 0 评论 -
js中document节点获取页面元素的六种方式
1.querySelector()方法描述:本方法用于根据给定的选择器选中页面元素 如果有多个元素满足条件,则返回第一个满足条件的元素节点语法:document.querySelector('选择器名');注意:如果查找失败,返回null2.querySelectAll()方法描述:本方法用于根据给定的选择器选中页面元素 如果有多个元素满足条件,则返回这些元素构成的集合语法:document.querySelectAll('选择器名')...原创 2021-05-16 12:30:46 · 10164 阅读 · 0 评论 -
addEventListener()方法和removeEventListener()方法
1.addEventListener()描述:addEventListener()方法用于向指定元素添加事件语法:元素节点.addEventListener('type',ListenFunc,useCapture);参数: (1)第一个参数表示绑定事件的类型,【没有on!是个字符串】 (2)第二个参数表示监听函数,就是事件发生的时候执行的哪个函数(使用函数名,来引用外部函数) (3)第三个参数是否采用捕获机制,默认不写和false都代表冒泡机...原创 2021-05-11 15:39:02 · 2080 阅读 · 0 评论 -
JavaScript变量和数据类型
JavaScript 语句和 JavaScript 变量都对大小写敏感。 1.变量 描述:变量是用于存储信息的容器,且可以改变 &原创 2021-05-06 21:41:39 · 76 阅读 · 0 评论