JavaScript系列
文章平均质量分 82
主要分享内容为 JavaScript,从入门到放弃
八了个戒
愿代码之火永不熄灭,技术之光照耀前行!
展开
-
关于js复制内容到浏览器原生剪贴板报错:Cannot read properties of undefined (reading ‘writeText‘)的解决方案【已全平台解决】
根据使用浏览器提供的原生功能 navigator.clipboard 返回的 Clipboard 对象的方法 writeText() 写文本到剪贴板。在本地开发,或者说是在使用http://127.0.0.1:8088 或者 http://localhost:8088 本地调试时,是没有问题的,但是如果使用绑定 host 或者使用不安全域(域名+http)时,使用此功能,就会发生下面的报错:Cannot read properties of undefined (reading 'writeText')原创 2024-01-24 16:37:59 · 837 阅读 · 0 评论 -
「JavaScript基础」一文彻底搞懂JS的事件流以及事件模型
在JavaScript中,事件流和事件模型是处理用户交互的关键概念。深入理解这些概念将使你能够更好地处理和响应用户的动作。本文将详细介绍JavaScript的事件流和事件模型。原创 2024-01-23 18:59:37 · 1171 阅读 · 0 评论 -
JavaScript 常用数组方法之数组扁平化「赶紧收藏」
数组扁平化,就是将一个复杂的嵌套多层的数组,一层一层的转化为层级较少或者只有一层的数组。原创 2023-07-27 12:43:59 · 871 阅读 · 0 评论 -
require 与 import 两种引入模块方式到底有什么区别?
requireexports和importexport本质上的区别,实际上也就是 CommonJS 规范与 ES Module 的区别。浏览器在不做任何处理时,默认是不支持import和require;babel会将 ES6 模块规范转化成 CommonJS 规范;webpackgulp以及其他构建工具会对 CommonJS 进行处理,使之支持浏览器环境它们有三个重大差异。CommonJS 模块输出的是一个值的拷贝,ES Module 输出的是值的引用。原创 2023-02-28 10:15:03 · 2565 阅读 · 0 评论 -
【JavaScript高级】模块化规范「一文让你彻底搞懂前端模块化规范 & 区别」
在JS最早出现的时候,是为了实现一些简单的功能,但随着浏览器的不断发展,对于JS的要求也越来越高,需要实现一些较为复杂的功能。这个时候开发者为了维护方便,会把不同功能的模块抽离出来写入单独的 js 文件里,但是当项目更为复杂的时候,html 可能会引入很多个js文件,而这个时候就会出现命名冲突,污染全局作用域,代码库混乱不堪等一系列问题,这个时候模块化的概念及实现方法应运而生。原创 2023-02-27 16:45:08 · 416 阅读 · 0 评论 -
JavaScript 常用数组方法及使用技巧「数组的力量隐藏在数组方法中,必收藏」
JavaScript 中常用的数组的方法基本上也就这些了,大概整理了有27个。如果我们能够充分掌握,那么,在我们的项目开发过程中可能会大大提高我们的开发效率。原创 2022-01-24 18:09:54 · 1058 阅读 · 0 评论 -
JavaScript 常用字符串方法及使用技巧「超级实用,赶紧收藏,提升效率」
最近项目终于忙完了,在开发时就会暴露出一堆问题,正好趁着这个时间给自己充充电。下面总结了一些关于 JavaScript 常用字符串的操作方法,它可以让我们更高效的处理数据,而不必使用时每次都去查询每个方法怎么用,可以大大提高我们的开发效率哦。正餐开始,来看看 JavaScript 中有哪些常用的字符串方法!1. 获取字符串长度JavaScript 中的字符串有一个 length 属性,该属性可以用来获取字符串的长度const str = 'hello world';str.length .原创 2021-12-15 16:11:57 · 1423 阅读 · 2 评论 -
Vue2.0 不能监测数组和对象的变化原因以及解决方案
前言:众所周知,Vue2.0 对于数据响应式的实现上是有一些局限性的,比如:无法检测数组和对象的新增无法检测通过索引改变数组的操作针对以上问题,我们一般都会把锅甩给 Object.defineProperty。所以,在Vue 3.0 中,尤大把响应式数据部分弃用了 Object.defineProperty,而使用 Proxy 来代替它。难道 Object.defineProperty 真的要背这锅么,下面就来分析一下 Object.defineProperty 真的无法监测数组下标的变化吗?原创 2021-09-22 15:32:01 · 15501 阅读 · 13 评论 -
最新最全的前端面试题集锦之 JS 篇(从基础到高级)
最新最全的前端面试题集锦之 JS 篇(从基础到高级)原创 2020-12-17 14:15:06 · 839 阅读 · 2 评论 -
从Vue源码学习JavaScript 之 this instanceof Vue
在 lib/sdk.js 中if (!(this instanceof ChainSDK)) { return new ChainSDK(options);}先说结论:这里通过 this instanceof xxx 来判断有没有用 new 关键词调用。那么,为什么可以这么判断呢?我们分别了解一下 this 和 instanceof 的用法。this在 JavaScript 中,this 是动态绑定,或称为运行期绑定的,它可以是全局对象、当前对象或者任意对象,这取决于函数的调用方式。原创 2021-08-16 10:45:29 · 1082 阅读 · 1 评论 -
JavaScript ES6 箭头函数与普通函数的区别详解【面试必备,值得收藏】
今天下午在面试的过程中,有一位面试官就问到了这道题目。说实话,如果不是今天问到了这个问题,我还不会去仔细对比分析一下这两个我们整天使用的函数声明方式,我们只有在不断总结中才会不断进步。同时,也非常感谢今天下午给我面试的这位面试官。目录一、箭头函数基本语法1、关于箭头函数的参数2、关于箭头函数的函数体二、箭头函数与普通函数的区别1、外形不同2、箭头函数都是匿名函数3、箭头函数不能用于构造函数,不能使用 `new`4、箭头函数不会创建自己的 `this`5、`call()/apply()/bind().原创 2021-07-14 22:58:33 · 356 阅读 · 1 评论 -
JavaScript 数组相关操作方法(数组去重、Array 常用方法 API)【详细总结,值得收藏】
一、数组去重的方法ES6 Set 去重function unique (arr) { return Array.from(new Set(arr)) // Array.from() 方法从一个类似数组或可迭代对象创建一个新的}var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];cons原创 2021-07-13 15:24:23 · 335 阅读 · 1 评论 -
Promise的使用与原理实现过程详解【附源码】
一、什么是 Promise?Promise 是目前 JS 异步编程的一种解决方案。从语法上讲,Promise 是一个对象,从它可以获取异步操作的消息;从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。二、Promise 原理简析?1、Promise 本身相当于一个状态机,拥有三种状态:pending(等待态)fulfiled(成功态)rejected(失败态)一个 Promise 对象初始化时的状态是 pending,调用了 resolve 后会将 Promise 的状态扭转原创 2021-07-10 16:59:37 · 1105 阅读 · 0 评论 -
浏览器 JavaScript 中的 this 的使用【最全总结,值得收藏】
前言大家可以看上一篇文章,是关于 Nodejs 中 this 的使用,里面还总结了 Nodejs 与浏览器 JavaScript 中的 this 的区别。JavaScript 中 this 的使用全局下的 this非严格模式情况下,全局的 this 都是 windowconsole.log( this ); // windowfunction fn(){ console.log( this ); // window}严格模式下,抑制 this禁用指向了 window原创 2021-06-29 10:07:01 · 679 阅读 · 3 评论 -
Nodejs 中关于 this 的使用以及与浏览器 JavaScript 中的 this 的区别【亲自踩坑总结,值得收藏】
前言最近根据安排,在参与一个自动化测试工具的开发,本项目是基于 Nodejs 开发的,由于挺长时间没有使用 Nodejs 进行完整的项目开发了,所以在开发过程中还会踩不少坑,所以这就来了。我们这里说的是在 Nodejs 中的 this,而不是在 JavaScript 中的 this。Nodejs 中的 this 和在浏览器中 JavaScript 中的 this 还是不一样的,所以大家还是需要区分一下。(关于 Nodejs 中的 this 与 Javascript 中的 this 的区别,在文末我也替大原创 2021-06-28 17:52:05 · 698 阅读 · 0 评论 -
关于“TypeError: Assignment to constant variable”的问题解决方案
在项目开发过程中,在使用变量声明时,如果不注意,可能会造成类型错误比如:Uncaught (in promise) TypeError: Assignment to constant variable.未捕获的类型错误:赋值给常量变量。原因我们使用 const 定义了变量且存在初始值。 后面又给这个变量赋值,所以报错了。ES6 标准引入了新的关键字 const 来定义常量,const 与 let 都具有块级作用域:使用 const 定义的常量,不能修改它的值,且定义的常量必须赋初值;l原创 2021-03-08 09:58:57 · 44488 阅读 · 2 评论 -
JavaScript 实现数组循环遍历的方法总结(结合 jQuery) 以及 常用循环遍历方法性能比较( Duff‘s Device)
JavaScript 实现数组循环遍历的方法总结原创 2021-02-22 17:28:53 · 950 阅读 · 1 评论 -
【JavaScript高级】原型与原型链
原型与原型链一直是JavaScript的重难点,掌握这部分内容将会使我们的工作更加的高效,而且这也是面试官必问的内容。首先,我们要明确的是,在js中,我们创建一个实例并不是通过类,而是直接使用构造函数来实现的。构造函数通过 new 函数名 来实例化对象的函数叫构造函数。任何的函数都可以作为构造函数存在。构造函数首字母一般大写。我们使用构造函数来创建一个对象。...原创 2021-02-08 17:12:23 · 489 阅读 · 0 评论 -
ES5 规范之严格模式详解
前言ECMAScript 5最早引入了 “严格模式”(strict mode)的概念。通过严格模式,可以在函数内部存在的错误,及时捕获一些可能导致编程错误的 ECMAScript 行为。理解严格模式的规则非常重要,ECMAScript 的下一个版本将以严格模式为基础制定。支持严格模式的浏览器包括 IE10+、Firefox 4+、Safari 5.1+ 和 Chrome。严格模式的目...原创 2020-03-08 21:01:20 · 399 阅读 · 0 评论 -
HTML中关于使用 innerHTML 动态创建DOM节点时,相关事件(如onclick等)失效的解决方案
最近在进行项目模块的迭代开发工作,偶尔会碰到几个值得记录的问题,这里就给大家整理分享一下,以及相应的解决方案。原创 2021-01-28 15:42:43 · 2551 阅读 · 0 评论 -
深入理解JavaScript的函数作用域
什么是作用域 ?作用域:一个变量可以生效的范围。变量不是在所有地方都可以使用的,而这个变量的使用范围就是我们要说的作用域。注意:在JavaScript中,划分作用域也是用大括号划分的, 但是在 JS 之中能够有效限定作用域的大括号只有函数大括号!有哪些作用域 ?- 全局作用域(不再任何函数内)学习使用作用域,以下内容是所需要了解的:全局作用域是最大的作用域在全局作用域中定...原创 2020-02-29 22:21:26 · 270 阅读 · 0 评论 -
高级Web前端JavaScript面试题
JavaScript 常见面试题高级Web前端必会面试题知识点一、浅拷贝 VS 深拷贝,手写一个深克隆其实深拷贝和浅拷贝都是针对的引用类型,JS中的变量类型分为值类型(基本类型)和引用类型;对值类型进行复制操作会对值进行一份拷贝,而对引用类型赋值,则会进行地址的拷贝,最终两个变量指向同一份数据,此时如果对其中一个进行修改,就会影响到另外一个。根据拷贝的层级不同可以分为浅拷贝和深拷贝,浅拷贝就是只进行一层拷贝,深拷贝就是无限层级拷贝。浅拷贝:实现方式很简单,实现原理就是遍历对象属性。slice原创 2020-09-08 08:31:34 · 383 阅读 · 0 评论 -
JavaScript 函数练习题
1、编写一个函数,计算两个数字的和差积商 <input type="text" id="txt1" placeholder="请输入一个数字"> <select name="symbol" id="sel"> <option value="+" id="jia">+</option> <optio...原创 2020-03-08 17:35:47 · 3008 阅读 · 0 评论 -
JavaScript 循环结构练习题
1、在页面打印九九乘法表 <script> var count = 0; // 行 row for(var row = 1; row <= 9 ;row++){ // 列 col for(var col = 1; col <= row; col++){ ...原创 2020-02-27 10:47:24 · 899 阅读 · 0 评论 -
JavaScript分支结构练习题
1、开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者 题目分析: 软件:有输入,有输出 程序:数据结果 + 算法 范围:找极值 最小值 <= 值域 <= 最大值 题目思路: 1. 根据身高计算出标准体重,根据标准体重计算体重合格范围 2. 根据输入的体重判断输入的体重是否符合规则...原创 2020-02-26 23:36:47 · 1319 阅读 · 0 评论 -
JavaScript基础语法练习题
1、设圆半径80,计算周长? <script> // 半径 radius var radius = 80; // 周长 Perimeter = 2 π * r var perimeter = 2 * Math.PI * radius; console.log(perimeter); </sc...原创 2020-02-26 22:49:54 · 3595 阅读 · 0 评论