自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 JavaScript的作用域(三)函数作用域

先说结论:属于这个函数的全部变量都可以在整个函数的范围内使用及复用(这不是废话?小示例在foo的作用域中标识符a、b、c、bar,不能在外部访问直接访问它们,相当于foo把这些标识符"隐藏"起来了。我们一般是声明一个函数,然后往里面写代码。但是反过来想一下我们把一段代码放到一个函数里面给它“包起来”,这不就把这段代码给“隐藏”起来了!芜湖!开始有点意思了。其实这种技术是非常有用的,灵感来自最小特权原则,也叫最小授权或最小暴露原则。

2024-09-18 18:20:03 273

原创 JavaScript的作用域(二)词法作用域

第一节讲到作用域是一套规则,那么词法作用域又是什么呢?简单来说词法作用域是由编写代码时将变量和块级作用域写在哪里决定的。考虑以下代码分析一下各自的作用域:是在顶层作用域的,引擎可以在任意位置访问到它。是嵌套在作用域下的变量,而则是嵌套在下的变量。再来分析一下代码的执行过程:当引擎执行到时会在当前作用域找到并执行,同时会找到作用域下的并赋值为。接下来引擎会在作用域下找到并将其赋值为。代码继续执行到此时作用域下的那么引擎通过计算将作用域下的赋值为。这时来到了打印函数,在作用域下引擎只能找到变量,关于引擎只

2024-09-09 21:39:12 507

原创 JavaScript的作用域(一)作用域是什么

几乎所有的编程语言的最基本的功能之一,就是能够储存变量当中的值,并且可以在之后对这些值进行访问或修改。但是变量往往存在哪里?换句话说程序如何找到它们?这些问题说明需要设计一套良好的规则来储存变量,并且之后可以方便的找到它们。这套规则就叫。

2024-09-08 21:46:28 456

原创 mysql数据库忘记密码,重置密码

1.首先停止mysql服务 net stop mysql2.进入到mysql安装目录执行 mysqld --skip-grant-tables 跳过安全检查3.重新打开终端输入 mysql 直接进入数据库4.use mysql 切换到mysql数据库,执行 update user set password = password('root') where user = 'root' and host = 'localhost'; 如果提示没有 password 这个字段,执行这句话 update us

2021-11-23 19:50:10 665

转载 JavaScript 实现字符串匹配度算法

function levenshtein(str1, str2) { // 计算两个字符串长度 const len1 = str1.length; const len2 = str2.length; // 创建一个比字符串大的数组 const dif = []; for (let i = 0; i < len1 + 1; i++) { dif.push(new Array(len2 + 1)); } // 赋初始值 for (let i = 0; i <= len1; i+

2021-10-29 08:48:37 785

转载 Linux-centos找到被占用的端口 杀死进程

找到被占用的端口号netstat -lnp|grep 被占用的端口号查看进程的信息ps xxxx # xxxx就是上一步得到的pid杀掉进程kill -9 [PID] # -9 表示强制杀死进程

2021-09-16 10:09:03 175

转载 Linux - 在 centos7 下升级vscode

在/etc/yum.repos.d目录下新建一个code.repo文件.1. cd /etc/yum.repos.d2. touch code.repo3. 写入如下配置[code]name=Visual Studio Codebaseurl=https://packages.microsoft.com/yumrepos/vscodeenabled=1gpgcheck=1gpgkey=https://packages.microsoft.com/keys/microsoft.asc4.按

2021-09-15 17:39:20 793

原创 git常用操作

第一次将本地项目push到远程仓库git init // 初始化git remote add origin http://xxxx.git // 跟远程仓库建立连接git remote -v // 查看是否连接成功// 成功origin https://github.com/xxx (fetch)origin https://github.com/xxx (push)git push -u origin master // 第一次将代码push到远程仓库...

2021-08-17 20:48:09 68

原创 JavaScript中的Date(日期)

日期对象创建日期对象就要使用new关键字调用Date构造函数let now = new Date();如果不给Date构造函数参数,那么就会保存当前日期和时间。如果需要创建指定的日期对象,那么就需要给Date()构造函数传入日期的毫秒表示。ECM"Script提供了两种转毫秒的方法。Date.parse() Date.UTC()。Date.parse()它接收一个表示时间的字符串。函数会尝试将字符串转为表示该日期的毫秒值。日期格式:“月/日/年”,5/23/2021“月名 日,年”,

2021-04-10 07:57:36 690

原创 JavaScript中的执行上下文与作用域

执行上下文简介:执行上下文在JavaScript中是一个的概念。变量或函数的上下文决定了他们可以访问到那些数据,以及决定变量或函数的行为。每个上下文都会关联一个变量对象,此上下文定义的多有变量和函数都会存在这个对象上。全局上下文在浏览器中,全局上下文通常值的就是window对象。因此通过var定义的全局变量和函数都会成为window对象的属性和方法。上下文在所有代码执行完之后会被销毁,包括变量对象上的属性和函数。全局上下文在应用程序结束前会被销毁,关闭网页或者退出浏览器函数上下文每个函数也会关联

2021-02-28 10:48:13 183

原创 JavaScript中的变量类型

原始值: 就是简单的数据引用值:多个值构成的对象// 原始值:保存的是具体的值let a = 2;let a1 = true;// 在js中字符串是原始值不是引用值let a2 = 'haha';// 引用值:保存的是一个地址值let p = new Object();动态属性:引用值是可以动态添加属性的,原始值不可以let person = new Object();person.name = '张三';console.log(person.name); // 张三原始值

2021-02-16 16:47:15 72

原创 JavaScript标签语句(循环中的应用)和标签函数

标签函数标签函数其实就是普通的常规函数,特殊的是我们可以通过前缀的模板字面量来应用自定义行为。let a = 1;let b = 2;function tagFunction(strings, aVal, bVal, sumVal) { console.log(strings); console.log(aVal); console.log(bVal); console.log(sumVal); return 'hahah';}let tag = tagFunction`${a} +

2021-02-16 11:51:35 976

原创 Vuejs对象(Object)的变化侦测

何为变化侦测:变换侦测的类型:“推” push“拉” pullVue.js的变化侦测属于"推"。当状态变化的时候vue就马上会知道。变化侦测也是vue响应式系统的核心。由于vue使用的是push类型,所以每个状态的依赖就会越多,所以需要的内存开销越大,因此vue引入了虚拟DOM,即一个状态所绑定的依赖不在是具体的DOM节点而是一个组件,状态发生改变就会通知到组件,由组件内部使用虚拟DOM进行比对。如何追踪变化:两种方式Object.defineProperty和Proxy。因为ES6浏览器支

2021-02-04 11:49:16 507

原创 JavaScript基本数据类型之 null undefined Boolean Number String

JavaScript数据类型简单数据类型Undefined:当使用var和let声明变量但是没有赋值的时候,就相当于给变量赋值了一个undefined值,一般来说,不用显式地给某个变量设置undefined值,字面值undefined主要用于比较,增加这个特殊值就是为了明确空对象指针null和变量为初始化区别Null:逻辑上讲null值表示一个空指针对象,这也是typeof null = object 的原因。undefined是由null派生而来的,因此ECMA-262将他们定义为表面相等即 nu

2021-02-03 20:20:20 306

原创 vue(前端)字符串导出.txt文件

首先安装 FileSaver包,npm install file-saver --save在main.js中引入 import {saveAs} from 'file-saver;'将字符串转为Blob对象let str = new Blob(['要导出的字符串'], {type: 'text/plain;charset=utf-8'});saveAs(str, `导出文件时的名字.txt`);注意这里要手动写上文件的后缀名...

2021-01-28 15:41:31 3409 3

原创 Script-8个属性

async:可选,表示立即开始下载脚本,但不能阻止其他页面的动作,比如下载资源或等待其他脚本加载。只对外部脚本有效。charset:可先,使用src属性指定的代码字符集。crossorigin:可选,配置相关请求的CORS设置。默认不使用CORS。crossorigin=anonyous配置文件请求不必设置凭据标志。crossorigin=use-credentials设置凭据表示,意味着出站请求包含凭据。defer:可选,表示在文档解析和显示完成之后再执行脚本。只对外部脚本有效。integ

2021-01-24 15:06:34 163

原创 地理信息系统-坐标系统

GIS的基本原则是:要在一起使用的图层必须在空间上相互匹配,否则就会发生明显错误给用户通常在平面上对地图进行处理,这些地图的要素代表地球表面空间要素的位置是用x轴和y轴表示的地理坐标系统。地球表面的空间要素是基于经纬度表示的地理坐标系统。所以项目一开始就需要确定统一的坐标系统。地图投影: 就是从一种坐标系过度到另一种坐标系系统。投影的过程就是从地球表面转换到平面,把地理坐标转为投影坐标地理坐标系统概念:地球表面空间要素的定位参照系统。地理坐标系统是由经度和纬度定义的。经度和纬度都是可以用角度度量的

2021-01-23 09:51:27 1215

原创 CommonJS和Node模块系统

先说CommonJS的愿景:希望JavaScript在任何地方运行commonJS规范模块二进制Buffer字符集编码I/O流进程环境文件系统套接字单元测试Web服务网关接口包管理commonJS对模块定义模块引用模块定义模块标识模块引用let fs = require('fs')在commonJS规范中存在require方法,这个方法接受模块标识,以此引入一个模块的api到当前的上下文中//模块定义//在模块中,上下文提供require方法来引入模块。对

2021-01-22 15:09:43 157

转载 JavaScript中的this

函数的this在严格模式和非严格模式下会有所不同严格模式:是采用具有限制性JavaScript变体的一种方式,从而使代码显示地 脱离“马虎模式/稀松模式/懒散模式“(sloppy)模式。严格模式不仅仅是一个子集:它的产生是为了形成与正常代码不同的语义。不支持严格模式与支持严格模式的浏览器在执行严格模式代码时会采用不同行为。所以在没有对运行环境展开特性测试来验证对于严格模式相关方面支持的情况下,就算采用了严格模式也不一定会取得预期效果。严格模式代码和非严格模式代码可以共存,因此项目脚本可以渐进式地采

2021-01-21 19:49:56 106

原创 如何获取elementUI table表格每行索引号

直接上代码,就是如此简单<template slot-scopt='scopt'> {{scopt.$index}}</template>

2021-01-18 19:50:04 687 1

原创 Node简介

Node诞生历程2009年,Ryan Dahl宣布准备基于V8创建一个轻量级的web服务器并提供一套库2009年5月,在github上发布了最初的版本2009年12月到2010年4月,两届JSConf大会都安排了Node的讲座2010年底,Node获得资助,Node发展进入加速期2011年7月,Node在发布了Windows版本2011年11月,Node超越Ruby on Rails, 成为github上关注度最高的项目2012年1月底,Ryan Dahl将掌门人身份转交给Isaac Z.Sc

2021-01-17 21:06:18 261

原创 Vue多组件使用Echarts图显示错乱问题

这篇文章给自己提个醒vue在使用Echarts时,一般都是一个图表一个组件。组件一:<template> <div id='myChart'></div></template>组件二:<template> <div id='myChart'></div></template>组件三:<template> <div id='myChart'></div>

2021-01-16 17:04:44 1360 1

转载 Centos7 安装vscode

rpm --import https://packages.microsoft.com/keys/microsoft.asc sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" >

2021-01-09 17:02:56 438

转载 nodeJS 把buffer对象转成图片

可以通过设置请求头:const fs = require('fs')fs.readFile('./', function() { // 生成图片把buffer写入到文件 fs.writeFile('', originBuffer, function(err){ if(err) { console.log(err) } }) let base64Img = originBuffer.toString('base64') let decodeImg = new Buffer (base6

2021-01-09 15:48:38 4455

原创 Linux下使用nodeJS通过ffi调用动态库

首先在Linux下安装配置node环境根据本人踩过的坑建议虚拟机安装nodeJS 10 版本第一步安装node-gyp: npm install node-gyp -g第二步安装 ffi: npm install ffi -S第三步安装ref npm install ref -S调用动态库const ffi = ffi.Library('./demo.so', { // 第一个 int:返回结果的数据类型, 第2,3个int 参数的数据类型 // 数据类型都是在C函数中定义好的 add:

2021-01-07 17:03:58 781 1

转载 如何访问Centos下nodeJS服务-开放Centos端口

转自把写好的nodejs服务放到Linux下启动服务后,在外部不能访问,这是因为Linux没有开放相应的端口,需要开启Linux下node服务器启动的端口第一步:开放端口 以3000端口为例firewall-cmd --zone=public --add-port=3000/tcp --permanentsuccess第二步重启Centos防火墙firewall-cmd --reload success重启之后外部就可以访问了命令含义:--zone #作用域--add-port=

2021-01-07 09:19:26 898

原创 Vue中使用Echarts

初始化Vue项目,然后使用 npm install echart --save安装Echarts包mainJS引入文件import Vue from 'vue'import App from './App.vue'import echarts from 'echarts'// 如果报错可以按照以下方式引入// import * as echarts from 'echarts'Vue.prototype.$echarts = echartsVue.config.productionTi

2021-01-04 20:00:28 125

原创 nodeJS根据文件后缀名读取文件并返回符合文件总数

第一步安装express启动服务const express = require('express')const app = new express()app.listen(5000, () => { console.log(running...)})第二步配置路由appJS文件中内容const express = require('express')const router = require('./router/index') // 路由模块const app = new

2020-12-30 08:41:09 524 1

原创 Vue设置路径别名

笔记记录const path = require('path');//引入path模块function resolve(dir){ return path.join(__dirname,dir)//path.join(__dirname)设置绝对路径}module.exports={ chainWebpack:(config)=>{ config.resolve.alias .set('@',resolve('./src')) .set('com

2020-12-29 13:55:47 476

转载 跨域解决方案

转自: 前端解决跨域9种方法什么是跨域跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。可能发生的跨域:1、资源跳转:A链接、重定向、表单提交2、资源嵌入: 、3、脚本请求: js发起的ajax请求、dom和js对象的跨域操作等其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。同源策略同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略

2020-12-28 16:03:07 170

原创 地理信息系统

地理信息系统:地理信息系统是一种用于获取、储存、查询、分析、和显示地理空间数据的计算机系统地理空间数据:地理空间数据是用于描述位置和空间要素属性的数据GIS的组成:硬件:GIS的硬件包括用于数据处理、数据储存、输入/输出的计算机,用于打印地图的打印机等软件:GIS的软件不管是商业的或是开放的资源,都包括程序和计算机执行的应用软件,进行数据处理,数据分析等专业人员:GIS的专业人员确定使用GIS的目的和目标,解释和展示组织:GIS在一个组织环境中运作;因此GIS的运作必须融入组织的文化和决

2020-12-27 22:00:14 430

原创 防抖与节流

应用场景:    当需要监听一个执行频率较高的事件(监听滚动条滚动,表单输入)时,执行函数触发的频率过高,但只需要函数最后一次执行结果,这时如果不对事件进行处理,过多的触发函数操作会降低浏览器的性能,降低用户的体验。这时候按照实际情况可以使用防抖和节流解决此问题何为防抖:    防抖(debounce)是指在指定时间内多次触发函数,函数只会执行最后触发那一次,根据应用场景防抖可分为先不执行,指定时间之后再执行,立即执行,指

2020-12-18 23:21:21 103 1

原创 Vuejs图书购物车案例

如有问题,欢迎各位大佬批评指正图书购物车<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>图书购物车</title></head><body><div id="app"> <div v-if="books.length"> <table>

2020-06-03 23:21:55 396

原创 Java笔记 接口USB案例 (2020.5.20)

USB接口案例分析:USB接口,包含打开设备功能和关闭设备功能笔记本类,包含开机功能,关机功能,使用USB设备功能鼠标类,实现USB接口,并具备点击方法键盘类,实现USB接口,并具备敲击功能图解:根据分析首先创建一个USB接口package md.day08.demo01;public abstract interface USB { //打开USB设备 public abstract void open(); //关闭设备 void close

2020-05-20 09:22:38 650

原创 Java红包案例

Java发红包案例(继承的应用)特点子类可以拥有父类的内容子类还可以有自己的专属内容子类就是一个父类(子类也可以被当做父类看待)super关键字子类构造方法中有一个默认隐含的**super()**调用,所以一定是先调用父类的构造,然后执行子类的构造子类构造可以通过super关键字来调用父类的构造使用super调用父类的构造方法时,super语句必须是子类构造方法的第一个语句super关键字的使用在子类的成员方法中,访问父类的成员变量在子类的成员方法中,访问父类的成员方法在子

2020-05-09 22:15:49 184

原创 SuperMap(超图)max 和 revit插件

supermap revit插件,快速把BIM模型导入supermap平台

2020-04-19 10:26:16 2829 4

3dmax插件-COLLADAMaxNew.zip

本插件只支持3Dmax2017版本。其他版本暂不支持。实现3Dmax导出obj模型转cesium支持的GLTF格式

2020-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除