![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
lseap
这个作者很懒,什么都没留下…
展开
-
JavaScript数组越界访问
JavaScript数组越界访问不会出错,本质来说,是因为JavaScript数组是一种特殊对象,可以将数组看成以下结构。 let arr = { 0: 't1', 1: 't2' } console.log(arr[0]); // t1 console.log(arr[2]); // undefined原创 2021-04-02 16:59:17 · 2792 阅读 · 0 评论 -
ES6的Set、Map容器
一、Set容器:无序不可重复的多个value的集合体。二、Map容器:无序的key不重复的key-value的集合体。原创 2021-04-01 18:44:46 · 188 阅读 · 0 评论 -
JavaScript深拷贝与浅拷贝
一、拷贝数据的方法1. 直接赋值给一个变量——`浅拷贝`2. Object.assign()——`浅拷贝`3. Array.prototype.concat()——`浅拷贝`4. Array.prototype.slice()——`浅拷贝`5. JSON.parse(JSON.stringify())——`深拷贝`二、实现深拷贝原创 2021-04-01 12:06:05 · 177 阅读 · 0 评论 -
JavaScript支持正则表达式的方法
一、创建正则表达式二、RegExp 对象方法1. exec()2. test()三、支持正则表达式的 String 对象的方法1. search()2. match()3. replace()4. split()原创 2021-04-01 11:11:31 · 246 阅读 · 0 评论 -
ES6使用class实现继承
ES6使用class实现继承原创 2021-04-01 10:39:47 · 143 阅读 · 0 评论 -
for of和遍历器
1. for of的工作原理 for…of 循环首先会向被访问对象请求一个迭代器对象,然后通过调用迭代器对象(iterator)的next() 方法来遍历所有返回值。2. 可以用for of遍历的对象 数组、字符串、arguments、set容器、map容器3. 模拟实现Symbol.iterator接口进行遍历对象4. 使用Generator函数模拟实现Symbol.iterator接口原创 2021-03-31 20:57:53 · 228 阅读 · 0 评论 -
ES6的箭头函数
箭头函数的特点:简洁箭头函数没有自己的this,箭头函数的this不是调用时决定的,而是定义时所处的对象就是它的this。箭头函数的this看外层有没有普通函数,如果有,外层普通函数的this就是内部箭头函数的this,如果没有,则箭头函数的this就是window。...原创 2021-03-31 17:27:41 · 52 阅读 · 0 评论 -
ES6的let和const
# 1. let- 用法:声明一个变量。- 特点(和var对比):1. 在块级作用域内有效。2. 不能重复声明。3. 不会预处理。- 应用:循环遍历添加监听事件。# 2. const- 用法:声明一个常量。- 特点:无法修改,定义时需赋值。原创 2021-03-31 17:04:43 · 51 阅读 · 0 评论 -
JavaScript继承
JavaScript继承的六种方式1. 原型链继承2. 构造函数实现继承(经典继承)3. 组合继承(伪经典继承)4. 原型式继承5. 寄生式继承6. 寄生组合式继承原创 2021-03-30 12:12:15 · 82 阅读 · 0 评论 -
JavaScript——关于原型的一些方法
一、instanceof运算符二、isPrototypeOf()方法三、Object.getPrototypeOf()方法四、hasOwnProperty()方法五、in操作符六、for-in七、Object.keys()方法八、Object.getOwnPropertyNames()方法原创 2021-03-29 22:16:50 · 67 阅读 · 0 评论 -
new运算符
1、创建了一个空对象obj;2、将这个空对象的proto成员指向了F函数对象prototype成员对象;3、将F函数对象的this指针替换成obj,然后再调用F函数.原创 2021-03-29 16:29:23 · 67 阅读 · 0 评论 -
DOM和BOM
1.DOM2.BOM原创 2021-03-22 16:22:49 · 97 阅读 · 0 评论 -
clientHeight、offsetHeight、offsetParent、scrollHeight...的区别
注意:以下样式都是只读的 clientHeight - 元素的可见高度,指元素的内容区和内边距的高度 clientWidth - 元素的可见宽度,指元素的内容区和内边距的宽度 offsetHeight - 整个元素的高度,包括内容区、内边距、边框 offfsetWidth - 整个元素的宽度,包括内容区、内边距、边框 offsetParent - 当前元素的定位父元素 - 离他最近的开启了定位的祖先元素,如果所有的元素都没有开启定位,则返回body offsetLeft原创 2021-03-05 20:29:15 · 88 阅读 · 0 评论 -
JavaScript原型prototype的理解
1. 每个函数(如Animal)都有一个prototype属性,其prototype属性指向该函数的原型对象(Animal Prototype)。2. 原型对象都有一个constructor属性,其constructor属性指向构造函数(function Animal)。3. 构造函数的实例对象(如cat)都有一个__proto__属性,其__proto__属性指向构造函数的原型对象,即Animal Prototype。原创 2021-03-04 21:29:35 · 159 阅读 · 1 评论 -
JavaScript构造函数的执行流程
1. 立刻创建一个新的对象。2. 将新建的对象设置为函数的this,在构造函数中可以使用this来引用新建的对象。3. 逐行执行函数中的代码。4. 将新建的对象作为返回值返回。原创 2021-03-04 21:19:44 · 437 阅读 · 3 评论 -
JavaScript中非布尔值的与(&&)或(||)运算
逻辑运算符&& || 非布尔值的情况:在对非布尔值进行与或运算时,会先将其转换为布尔值,然后再运算,并且返回原值,不是true或false;与&&:如果第一个值为true,则必然返回第二个值,无论第二个值的类型是什么;如果第一个值为false,则直接返回第一个值,无论第一个值的类型是什么。var a = 0 && true;// 先把0转换为布尔值,为false// 因为&&只要有一个值为false,则返回false,所以输出原创 2021-03-04 15:45:15 · 300 阅读 · 1 评论 -
ES6获取数组最大值
ES6获取数组最大值原创 2020-09-15 15:47:56 · 1712 阅读 · 0 评论 -
JavaScript复制二维数组
使用map和ES6的扩展运算符原创 2020-09-07 14:11:09 · 935 阅读 · 1 评论 -
JavaScript将二维数组转为一维数组
使用ES6的扩展运算符——“···”原创 2020-09-07 14:10:38 · 1373 阅读 · 0 评论 -
ES6中的模版字符串: `${ }`
ES6中的模板字符串使用反引号 (` `) 来代替普通字符串中的用双引号和单引号。模板字符串可以包含特定语法(${expression})的占位符。const name = '小红'const age = 18console.info(`我叫${name},今年${age}岁`)// 等价于console.info('我叫' + name + ',今年' + age + '岁') /...原创 2020-04-25 19:39:00 · 998 阅读 · 0 评论 -
js实现table表格动态更新数据并排序
js实现table表格动态更新数据并排序的思路加载页面即window.onload = function () {}。获取服务器端缓存数据,初始化表格内容第一步加载完成后,通过Ajax发起http请求,将服务器端的json数据转换成js对象,传回页面,填充表格table的初始内容,即各行id,name,num的值。建立websocket连接,实现服务器端数据改变,前端页面实时更新表格内...原创 2019-05-26 00:58:57 · 9904 阅读 · 0 评论 -
js 给元素添加自定义属性
给元素添加自定义属性obj.setAttribute('attr_name','attr_value'); //例如obj.setAttribute('class','snow-container')给元素添加class属性的三种方法document.getElementsByTagName('body')[0].className = 'snow-container'; //设置为新的...原创 2019-05-21 19:13:17 · 39561 阅读 · 0 评论 -
在网页上使用 JSON 数据——使用 JSON.parse() 方法将json数据转换为 js对象:
JSON.parse()JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。JSON.parse()使用实例例如我们从服务器接收了以下数据:{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }我们使用 JSON.pa...原创 2019-05-23 23:31:44 · 491 阅读 · 0 评论 -
innerHTML和innerText的区别
innerHTMLinnerHTML获取的是指定标签内的html内容,包含html标签innerTextinnerText获取的是指定标签内的文本内容,不包含html标签原创 2019-05-11 21:44:18 · 119 阅读 · 0 评论 -
js实现下拉框添加选项
html代码<!-- 下拉框选择id --><div id="selectIdBox"> <select id="selectID"></select></div>JavaScript代码var gSelectID = ["001", "002", "003", "全部"];for (var i in gSelectID)...原创 2019-06-13 01:12:45 · 6606 阅读 · 0 评论 -
原生JS修改CSS属性
1. 修改style样式2. 修改特定元素节点的style内容3. 通过setAttribute 修改style原创 2019-08-06 18:15:23 · 18209 阅读 · 0 评论 -
按钮控制输入框编辑状态(原生JS)
源码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv=...原创 2019-08-10 12:13:34 · 514 阅读 · 0 评论 -
js 获取并修改table表格中的某一项的内容
获取第i行第j列的值写法为var text = document.getElementById('tab').rows[i].cells[j].innerText;修改第i行第j列的值document.getElementById('tab').rows[i].cells[j].innerText = 'aaa';获取表格的行数document.getElementById("tab...原创 2019-05-21 19:11:24 · 4917 阅读 · 0 评论