![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
JavaScript进阶学习
幼儿园园长~
这个作者很懒,什么都没留下…
展开
-
JavaScript题目积累
b*/g//匹配前面的子表达式零次或多次,结果不止数组中那么多。/b+/g//匹配前面的子表达式一次或多次,有一个或多个b。/b{1,5}/g//匹配1-5个b。/b{1,4}/g//匹配1-4个b。原创 2022-07-15 17:13:24 · 256 阅读 · 0 评论 -
JavaScript函子(随笔)
Functor(函子)为什么要学函子?到目前为止已经学习了函数式编程的一些基础,但是我们还没有演示在函数式编程中如何把副作用控制在可控范围内、异常处理、异步操作等。什么是Functor?(1) 容器:包含值和值的变形关系(这个变形关系就是函数)(2)是一个特殊的容器,通过一个普通的对象来实现,该对象具有map方法,map方法可以运行一个函数对值进行处理(变形关系)。.........原创 2022-07-13 16:03:48 · 409 阅读 · 0 评论 -
SyntaxError: Cannot use import statement outside a module
执行esmodule出现报错:原因:要导入esmodule文件,需要将文件后缀js改为mjs,如果不想修改,则需要配置package.json如下:原创 2022-05-17 14:28:33 · 349 阅读 · 0 评论 -
python可以使用负索引,JavaScript是无法使用负索引
python可以使用负索引,JavaScript是无法使用负索引,那么有没有什么办法,可以使得的JavaScript可以使用使用负索引呢?使用proxy代理器const arr = [1, 4, 9, 16, 25];// 如果是数组的话,index就是索引值const proxy = new Proxy(arr, { get: function (target, index) { index = Number(index); if (index > 0原创 2022-02-08 20:45:19 · 768 阅读 · 0 评论 -
vuejs刷新组件方法
转载自:https://blog.csdn.net/weixin_40054326/article/details/79384433第一种方法:利用v-if控制router-view,在根组件APP.vue中实现一个刷新方法<template><router-view v-if="isRouterAlive"/></template><script>export default { data () { return { isRou原创 2021-12-25 00:48:03 · 626 阅读 · 0 评论 -
monaco-editor与monaco-editor-webpack-plugin的版本要兼容
目前使用的版本:“monaco-editor”: “^0.28.1”,“monaco-editor-webpack-plugin”: “^4.2.0”,遇上第1个报错:Cannot find module ‘vs/editor/contrib/inlineHints/inlineHintsController‘解决办法:npm list --depth 0 查看本地包对应的依赖 → 按照提示,只需要去官网下载响应的版本即可。https://www.npmjs.com/package/monaco原创 2021-12-25 00:01:18 · 5119 阅读 · 0 评论 -
overflow: auto;和overflow:hidden;区别
overflow: auto;将看不见被隐藏的,以滚动条的形式进行展示。overflow:hidden;直接将多余的隐藏,想看也看不了。来自博主:https://blog.csdn.net/qq_31676483/article/details/116401045参考:https://link.zhihu.com/?target=https%3A//developer.mozilla.org/zh-CN/docs/Web/CSS/overflow...原创 2021-12-24 22:43:49 · 629 阅读 · 0 评论 -
JavaScript和python序列化与反序列化异同。
一、JavaScriptJSON.stingify(data) // 表示将data数据序列化JSON.parse(data) // 表示将data数据反序列化二、pythonimport jsonjson.dumps(data) # 表示将data数据序列化json.loads(data) # 表示将data数据反序列化原创 2021-12-14 15:19:36 · 1065 阅读 · 0 评论 -
Package.json中dependencies依赖包中^符号和~符号前缀的区别
^的意思是最近的一个大版本。 如果写入的是 ^0.13.0,则当运行 npm update 时,可以更新到 0.13.1、0.13.2 等,但不能更新到 0.14.0 或更高版本。 如果写入的是 ^1.13.0,则当运行 npm update 时,可以更新到 1.13.1、1.14.0 等,但不能更新到 2.0.0 或更高版本。~: 如果写入的是 〜0.13.0,则当运行 npm update 时,会更新到补丁版本:即 0.13.1 可以,但 0.14.0 不可以。...原创 2021-12-11 22:23:24 · 860 阅读 · 0 评论 -
JavaScript解构赋值与解构赋值取别名(容易混淆)
data没有加括号表示给response取别名test = { response: { data: 3 }}const { response: data } = testconsole.log( data ) // { data: 3 }data加了括号表示给response继续解构赋值test = { response: { data: 3 }}const { response: { data } } = testconsole.log( dat原创 2021-12-09 15:46:57 · 1074 阅读 · 0 评论 -
Vue3响应式原理
Vue3响应式原理Vue3响应式原理基于ES6的Proxy对象实现的文章目录Vue3响应式原理一、知识储备:Proxy对象二、Proxy实现Vue3基础演示vue3的响应式原理是基于ES6的Proxy对象一、知识储备:Proxy对象proxy字面意思是代理器,主要用于改变对象的默认访问行为。通过在访问对象之前增加一层拦截,只要对对象访问行为都会通过这层拦截,在拦截中,我可以自定义一些行为。Proxy的基本语法:const proxy = new Proxy(target, handler)原创 2021-12-02 22:50:36 · 564 阅读 · 0 评论 -
vue2响应式原理分析
vue响应式原理分析之vue2提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录vue响应式原理分析之vue2前言一、认识Object.defineProperty1.obj对象自定义设置1.obj对象自定义操作二、使用步骤1.引入库2.读入数据总结前言vue学到后面需要对响应式源码原理进行剖析,里面蕴含着观察者模式和发布-订阅的模式,对提高编程原创 2021-11-30 00:09:20 · 1548 阅读 · 1 评论 -
JS获取url参数
function getQueryVariable(variable){ var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i<vars.length;i++) { var pair = vars[i].split("="); if(pair[0] == var原创 2021-11-17 22:02:11 · 55 阅读 · 0 评论 -
js:除了用push向列表传值,还可以使用...结构赋值运算符
list = [1,2,3,4,5]console.log([...list,2]) // 结果是:[ 1, 2, 3, 4, 5, 2 ]原创 2021-11-08 17:50:07 · 597 阅读 · 0 评论 -
父窗口和子窗口如何互相传递数据?
parent.html<html> <head> <script type="text/javascript"> function parentSay() { //注意:父窗口和子窗口可以同时定义相同的函数互不干扰 alert("parent.html------>I'm at parent.html"); } function callChild() { //document.fr原创 2021-10-11 11:16:19 · 239 阅读 · 0 评论 -
js怎么将字符串当做js执行代码?
先记录一下这个方法转载自:https://www.cnblogs.com/fqh123/p/11302663.html字符串还能当做javascript代码来执行?你能想到哪些方法?1、setInterval(“要执行的字符串”,500);window对象的方法既可以传字符串,也可以传函数。该函数第一个参数传字符串容易引起内存泄漏,尽量避免这样写。2、setTimeOut(“要执行的字符串”,500);window对象的方法既可以传字符串,也可以传函数。该函数第一个参数传字符串容易引起内存泄漏,原创 2021-10-11 11:13:25 · 3317 阅读 · 0 评论 -
npm ERR! Error: EPERM: operation not permitted
报错:解决:以管理员身份打开安装软件包即可。原创 2021-09-14 12:50:27 · 245 阅读 · 0 评论 -
Node.js:全局无法安装babel-cli,但是可以在本地文件安装,这是怎么回事?
报错如下:大意说文件已经存在解决:沿着报错的路径进去,将babel都删除(以下含有babel字样的文件全部删除)然后重新安装babel-cli成功。笔记素材来源:拉勾大前端训练营。原创 2021-09-14 10:03:48 · 145 阅读 · 0 评论 -
jQuery中ajax(基于Flask框架做的后端演示)
一、jQuery复杂请求app.pyfrom flask import Flask, render_template, requestapp = Flask(__name__)@app.route('/ajax/js',methods=['GET','POST'])def ajax_js(): return 'js_ajax',200 # 200表示请求ajax/js网址所返回的状态码@app.route('/ajax/jq')def ajax_jq(): return原创 2021-09-11 02:15:00 · 606 阅读 · 0 评论 -
原生ajax
原生ajax步骤:创建XMLHttpRequest对象 → 输入网址(配置请求参数)→回车(发送请求)→回调函数获取数据<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>原生ajax</title></head><body> <script> var xmlhttp原创 2021-09-11 01:44:05 · 55 阅读 · 0 评论 -
JavaScript:在全局执行上下文环境,Node.js和浏览器环境下this指向差异
一、在浏览器里,this指向window<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>测试</title></head><body> <script> var num = 100; function test(){ cons原创 2021-09-08 23:53:24 · 164 阅读 · 0 评论 -
python和JavaScript函数内部对全局变量的引用差异
一、在python中:全局变量只能被函数调用而不能被修改。number = 1sum = 1def getLa(x): # number = 1 # sum = 1 while number <= x: sum *= number number += 1 return sumprint(getLa(4))报错信息:UnboundLocalError: local variable ‘number’ referenced b原创 2021-09-07 16:29:19 · 118 阅读 · 0 评论 -
JavaScript:反引号用法
1、反引号`用法(1)反引号可以换行const str = `this is a \`string`console.log(str)(2)反引号里面可以格式化字符串→ ${}const name = "tom"const str = `hey, ${name}, ${1 + 1}, ${Math.random()}`console.log(str)2、反引号与函数关系(1)反引号还可以调用函数const name = 'zs';const gender = true;funct原创 2021-08-29 13:21:07 · 12123 阅读 · 0 评论 -
JavaScript进阶知识:let的三大特性
声明变量var a=100let b=’hello’let的三大特性:1、不存在变量提升,必须要先声明,再使用。否则报错。console.log(a); //报错ReferenceError,因为顺序错了,应该是let a=2在上面let a=2;那要是改为var a=2呢?console.log(a); //结果:undefined。因为a未定义var a=2;var存在变量提升,所以实际上程序是这样运行的:var a;console.log(a); //var存在变量提升。l原创 2021-08-27 09:18:15 · 1000 阅读 · 0 评论 -
JavaScript如何使得类数组也可以拥有Array的push、splice方法?
最近发现了一个很有趣的现象,可以为类数组增加push、splice方法。我们知道一个基本事实:数组的push、splice、reverse都是通过构造函数扩展原型对象的方法得来的,因此数组方法内部的this指向的是arr数组对象,操作的也是arr的对象。那么如何使得push、splice方法也可以操作类数组呢?就是改变这种方法内部的this指向,从而去操作类数组。比如,此处的o对象就是个类数组对象,跟getElementByTagName获得是一个类数组对象是一样的,类数组只有length属性和偏移量原创 2021-08-23 22:49:46 · 165 阅读 · 0 评论 -
JavaScript进阶知识:构造函数也是函数
首先要明确的是构造函数也是函数我经常使用构造函数来创建实例对象,例如对象和数组的实例化可以通过相应的构造函数Object()和Array()完成。构造函数与普通函数在语法的定义上没有任何区别,主要的区别体现在以下3点。(1)构造函数的函数名的第一个字母通常会大写。按照惯例,构造函数名称的首字母都是要大写的,非构造函数则以小写字母开头。这是从面向对象编程语言那里借鉴的,有助于在ECMAScript中区分构造函数和普通函数。(2)在函数体内部使用this关键字,表示要生成的对象实例,构造函数并不会显式地原创 2021-08-20 00:02:22 · 454 阅读 · 2 评论 -
JavaScript事件进阶:事件对象e(event)(三)
本章字数7873字。上一篇文章《JavaScript进阶认识:什么是事件冒泡过程与捕获过程?有什么用处?》我们讲到事件对象e,利用了一个方法e.target,通过冒泡过程,从而实现了点击父级元素里面的子元素触发父级元素事件,再从父级元素事件对象e,找到真正触发事件发生的子元素源,实现隔行换色的代码。这个技巧要认真琢磨。那么,什么是事件对象e呢?事件对象e,是event的简称。当一个事件被触发时候,这个事件的有关数据都会被存储在一个事件对象e里面,这个对象e有许多固定方法提供给我们查看里面各种数据。我原创 2021-08-16 10:43:29 · 4164 阅读 · 1 评论 -
JavaScript易错陷阱:局部变量污染全局变量
全局变量和局部变量各司其职,但使用不当会有严重的副作用,而且有时候还不知道是怎么回事。先看一个栗子:<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title></title> <script> window.onload = function () { var i = null;原创 2021-08-15 16:54:32 · 605 阅读 · 0 评论 -
JavaScript事件进阶:什么是事件冒泡过程与捕获过程?有什么用处?(二)
在上一篇文章里【JavaScript事件绑定进阶认识:即如何给一个事件添加多个相同的事件】,我们讲到obj.addEventListener(type,fn,false)里的三个参数,其中第三个参数是布尔值,决定了事件冒泡过程还是事件捕获过程(false表示冒泡过程,true表示捕获过程)。从一张图来认识DOM事件流是怎么样的:......原创 2021-08-14 17:51:02 · 414 阅读 · 0 评论 -
JavaScript事件进阶:即如何给一个事件添加多个相同的事件(一)
1、什么是事件处理器?给一个元素添加一个事件叫“事件处理器”,如下所示:oBtn.onclick =function(){};显然,事件处理器的用法很简单,但是有一定的缺陷。如果要为一个元素添加多个相同的事件,则会发生后面的事件覆盖前面事件的现象,举个栗子:<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title></title> <原创 2021-08-14 10:23:36 · 2342 阅读 · 1 评论