- 博客(39)
- 收藏
- 关注
原创 javascript(js)组成及使用
标签-script,目前支持的常用属性:async(src)、defer(src)、src、type(text/javascript)。一般来说,脚本默认执行顺序是从上到下一次进行加载和执行的,但是由于defer、async两个属性,脚本的加载和执行,可以变成异步的了。js是由核心ECMAScript、文档对象模型DOM、浏览器对象模型BOM三部分组成。
2023-07-15 19:26:25 447
原创 k8s-Pod
在k8s中,其最小的调度单元便是Pod了,一个Pod里面可以包含一个或多个容器(Docker 容器等)。或者说,Pod其实是由一组应用容器构成,并包含了容器的共有环境和资源约束。
2023-06-11 14:09:00 1080
原创 java之知识点的小备注(持续更新中......)
双亲委派机制(安全机制):优先从"父"启动类加载器加载,若没有加载到,再从"母"扩展类加载器中加载。若从"母"加载器中,还没加载到,再从应用类加载器中加载。启动类加载器(父):在代码执行之前,会把所有用到的类全部加载到JVM中。加载的目标路径:jre/lib/rt.jar,jdk中核心的类库。getResource(“”) 获取当前线程的类加载器,默认从类的根路径下加载资源。扩展类加载器(母):加载的目标路径:jre/lib/ext/*.jar。应用类加载器:加载的目标路径:classpath配置的路径。
2023-06-11 14:05:48 588
原创 java之反射机制和注解(更新中......)
文档链接:https://docs.oracle.com/javase/8/docs/api/index.html。Override: 只能用在方法上,编译阶段,和运行阶段无关. 重写父类的方法。java.lang.Class:整个字节码,代表一个类型。java.lang.reflect.Constructor:构造方法的字节码;java.lang.reflect.Nethod:method的字节码;java.lang.reflect.Field:属性相关的字节码。Target:注解作用于那些类型上。
2023-06-11 14:00:03 532
原创 基于javascript的插入排序与希尔排序
公共方法// 判断 a 是否大于 bfunction isBig(a, b) { return a > b}// 交换data数组中的两个索引数据function exch(data, i, j) { const tmp = data[i]; data[i] = data[j]; data[j] = tmp;}基础的插入排序以数组数字,升序为例:思想:从索引为1开始,并以单位为1开始递进,循环比较当前元素与前一个元素的大小,跳出条件为 不小于。不小于,意味着,该元素的左侧
2022-02-19 09:25:53 101
原创 基于javaScript的数据结构之字典及散列表
上章节,使用javascript简单实现了集合的数据结构。而此篇实现的字典,在结构上与上章的集合很相似,只不过两者存储的数据内容略有不同。然而,为什么会有这两种不同的数据结构呢?是因为字典获取值比较快吗?这个暂时还想不明白。但是对于散列表来说,它使用hashCode最为键来保存数据,而JavaScript语言内部,就是使用散列表来表示每个对象的。感觉这类似于数组取值的方法。本章节,我是带着问题来实现字典结构的,想不明白,为什么要分集合、字典两种?难道就是因为各自类具有不同的方法吗。。。一下就是本次的代码:
2021-12-08 20:45:18 652
原创 基于javaScript的数据结构之集合
集合集合,是一组无序且唯一的数据集。在计算机的数据结构中,集合,处理是有限的之外,其概念与数学中的概念基本是一样的。目前ES6语法中,有个Set类,与本篇要实现的集合的功能是一致的,但是,本篇处理实现Set类中的方法之外,扩展了集合的基本运算:交集、差集、并集、是否子集。代码如下:function CustomSet() { this.items = {}; // 添加元素 CustomSet.prototype.add = function (ele) { if (!t
2021-11-27 09:54:09 458
原创 基于javaScript的数据结构之链表
链表基于栈和队列解构,我们可以发现,这两种结构虽然读取数据时是非常优秀的。但是它在数组的起点或中间进行插入或删除数据时,成本很高。虽然在js中,我们(开发者)不像java那样,需要手动对数组进行扩容操作,但是这种操作在js底层还是要做的。那么,对于这种新增或删除的操作,有没有另一种高效率的存储结构呢?那肯定是有的,比如,本次分享的链表这种数据结构。链表的结构,有很多种,比如:基础链表(单向链表)、双向链表、循环列表、排序链表等。故名思意,不同结构的链表,可以更好的实现不同的功能。下图,是针对单向链表的示
2021-11-22 22:07:04 704
原创 基于javaScript的数据结构之队列
队列队列与栈结构类似,不同的在于一个(队列)是先进先出(FIFO),一个(栈)是后进先出(LIFO)。抽象示意图:这种结构,类似与菜市场排队买菜很类似,要实现这种数据结构,在javaScript中同样有两种方式,第一种基于数组的实现,这里不再赘述,仅以基于对象进行实现,中间的实现过程略微不同。基于javaScript对象实现基本的队列let queue = new Queue();queue.enqueue(1);queue.enqueue(2);queue.enqueue(3);fun
2021-11-14 14:08:24 697
原创 基于javaScript的数据结构之栈结构
栈结构栈,遵循后进先出(LIFO:last in fist out)的规则,这一规则与数组的的push、pop方法很像。所以我们可以利用数组中的这两个方法来实现栈结构.基于数组实现栈结构function Stack(){ this.list = []; // 进栈 Stack.prototype.push = function(item){ this.list.push(item); } // 出栈 Stack.prototype.po
2021-11-14 10:48:06 1023
原创 Vuex用法总结(踩坑记录一)
Vuex用法:commit用法: 操作`mutations`中的方法,在vue组建中可以这样来操作`mutations`中的方法:this.$store.commit("funName",data);dispatch用法:操作`actions`中的方法,一般在`actions`中写异步方法代码,若要改变`state`中定义的变量,需要调用`mutations` 中的方法,来改变`state`中的数据,当然在`actions`中也可以设置`state`中的数据,但这样,数据的改变不会立即被捕获到,
2020-09-17 09:28:21 415
原创 关于加载网络图片显示异常的解决办法
三个解决思路1、检查后端传来的图片地址是否正确2、检查前端在引用地址时,是否正确:src是否ok,若是背景图的话,检查url的值3、如果以上两个均没有问题的话,在html中标签之间添加一个meta标签:<meta name="referrer" content="no-referrer">meta标签meta标签在html中非常重要,具体用法在 w3School 有详细的说明。它包含一个必要的属性:content;三个可选属性:name(把 content 属性关联到一个名称)
2020-09-14 09:12:54 2066
原创 vue中的动态组建和路由如何选择
在项目搭建之初,最烦人的操作,恐怕就是考虑组建(页面)的之间的跳转问题了。那么要不要使用动态组建,或者什么时候使用动态组建最为合适呢?首先来看一下动态组建与路由跳转之间的区别:1、两者都可以实现页面之间的跳转,但动态组建是不可以改变URL的,一般多用于某个页面中的tab切换,而且它相对路由跳转还有个优点,就是可以利用 `<keep-alive></keep-alive>` 标签来保证此组建不被销毁,一般多用于性能的优化上。缺点:数据的耦合性很高,需要做统一的管理2、路由
2020-09-10 09:25:16 2057
原创 js执行终端命令
注意:需要在node环境中才可以用JS执行终端命令我遇到的问题是在使用electron-vue开发过程中,获取mac电脑中的指定应用的钥匙链,比如获取Google的钥匙链,方法如下:let abc = require("child_process");abc.exec( 'security find-generic-password -l "Chrome Safe Storage" -w', function(err, res) { console.log(res) });
2020-09-03 21:00:48 2011
原创 前端关于vuex数据的Watch监听
监听的用法和在普通组建中的监听类似比如:在封装后的Vuex的index.js 文件中,定义的一个变量为tabFlag,若是想在Vue组建中进行监听该变量,可以这样用:对vuex进行封装import Vue from "vue";import Vuex from "vuex";Vue.use(Vuex);const store = new Vuex.Store({ state: { tabFlag: 1, }, mutations: {
2020-09-03 20:49:30 738
原创 关于input中placeholder字体、大小、位置修改的解决办法
伪类选择::placeholder伪类设置input中的文字颜色和大小input::-webkit-input-placeholder { // chrome、safari私有属性 color: #ccc;}input::-moz-input-placeholder { // firefox浏览器私有属性 color: #ccc;}input::-ms-input-placeholder { // IE浏览器私有属性 color: #ccc;}注:在Chrome
2020-08-31 09:49:39 5234
原创 Object.defineProperty()拦截与proxy拦截
用过Vue的小伙伴,都知道,Vue中有个v-model的属性,可以把表单元素与某个属性绑定起来。它的实现原理:vue 2.0版本用到了Object.dfineProperty()方法;而vue 3.0版本是利用了ES6语法中的proxy。下面,我们来探讨一下两者的用法,这样,会帮助我们更好的理解Vue的数据与视图之间的关联。<span id="spanVal"></span><br /><input type="text" value="" id="iptV
2020-07-07 22:13:18 570
原创 flex属性解释
flex属性首先,flex属性是flex-grow, flex-shrink 和 flex-basis的简写, 默认值为0 1 auto。后两个属性可选。flex-grow:扩展多余空间的使用。 默认为0,即,如果存在剩余空间,也不放大;flex-shrink:缩小比例。 默认为1,即,如果空间不足,该项目将缩小;flex-basis:占据的主轴空间。 浏览器根据这个属性,计算主轴是否有多余空间。 默认值为auto,即项目的本来大小。...
2020-07-06 16:55:39 524
原创 postman请求某接口可以得到数据,离开postman却获取不到数据?问题解决:十几行代码,配置一个代理服务器
在某些网站接口时,用postman测试好的数据,但离开了postman,却不行(这以小米商城移动端为例,其它网站类似情况一样)? 在这种情况下,要注意了!这时你会好奇,我甚至明明复制的就是,postman提供的请求代码块, 然而,在html网页获取数据时,仍然获取不到数据:原因就是,你`跨域`了;这时,你刚解决跨 域后,浏览器可能不会给你抛出错误,虽然浏览器给你一个200的状态码,但是,你会发现,data 里面还是没有获取到数据,哎呀!这是为什么呢?答案就是:你没有设置代理服务器!!! 乍一听
2020-07-03 22:11:31 5272 1
原创 关于vue-cli跨域报错问题,解决
请求后有数据,但竟还附带报错?首先,当你配置跨域完成后,在vue-cli中,有时还会出现一下报错信息:在这里,你可以看到,请求成功后的数据,但是,会有header…的报错,解决:把地址栏中的localhost:8080改为:IP地址,然后再进行刷新,即可。在利用video预览播放,会有get…报错解决:在index.html中的head里面,添加一个meta标签:,即可!...
2020-06-04 10:47:11 329
原创 axios四个常用请求(get,post,put,delete)
axios-get首先,如果你有一定的基础的话,请参考axios官网:axios官方 。 下面,我就以表格的增删改查为例,加以说明。注意:此代码是,运行依赖于json-server中,若是api接口形式运行的话,只需把url的地址修改即可!话不多说,先贴整个代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="v
2020-06-02 19:48:32 2122
原创 关于Vue中“父子”传递数据及方法问题($emit( )和props:[ ]的使用)
关于Vue关于Vue的说明,大家可以参考vue的官方文档,在学习一项中,我们可以详细的了解到vue的教程及API。这里不再累述,直接进入标题内容。在vue中,我们可以利用组件,来简化代码量,把更多的时间,用在功能实现的逻辑思维上。在组建各个模块时,我们不可能把所要用到的每一个方法或数据,都要在该组件中定义一份,要想做到各个组件间的数据的互通性,及方法的调用问题,就会想到父子组件的数据传送问题。下面进行详细描述:父子组件中data数据传输问题(父传子)这一问题,可以实现子组件使用父组件中的da
2020-05-31 19:36:16 472
原创 JavaScript秒表开始、暂停、继续、重置功能的实现及连击的优化
JS中秒表的计时,是练习定时器的最好的方式之一,它包含了定时器的创建、清除、变量等相关问题,而秒表的功能实现是多样化的,比如:特定按钮的disabled、是否需要秒表的记录等。这里我用事件的委托的方法来实现秒表四个功能,譬如下面的代码,这里没有设置花哨的样式(主要还是审美力的问题~~~),这里主要体现JS的代码思路,首先,先贴出一个gif图,让大家先看一下效果,欢迎大家评论、提异。<...
2020-04-02 22:35:56 2012
原创 JavaScript简单实现页面选择倒计时
今日刚接触Date对象,想起了倒计时的实现,因此简单的做了一下,其效果,我做了一个小视频<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initi...
2020-03-26 07:31:53 198
原创 JavaScript数组常用方法(操作)及其应用举例
数组常用方法(操作)及应用1、我们知道,数组是带编号的有序的数据集合,所以对数组的操作一般不外乎是对其索引(下标)的操作。另外,我们一般对数据的操作也不外乎是数据的调用、修改(赋值等)、增删等。了解了这些,再来看数组Array的方法,便容易理解了。然后再通过这些方法,我们来总结其规律(思想)。注:代码上面是此方法的说明。push() ;1个参数:elementN。可以接收任意数量的参数,并把...
2020-03-19 22:39:06 255
原创 JS之数组基础和实例
数组1、 定义带编号值的有序组合,也就是数据的集合,数据的类型可以是数组、对象、string、number、null、undefined、Boolean。2、 创建方式字面量的方式创建:var 变量 = [ 数据1 , 数据2 , 数据3 , … ];构造函数的方式创建:调用构造函数 Array() ,通过new 关键词来生成数组的实例化对象,并存储在变量中。var arr2 = ...
2020-03-19 10:00:18 412
原创 JavaScript预解析与作用域问题的理解及解决办法
JavaScript中预解析与作用域1、函数执行时,程序的基本执行过程和原理函数的定义/封装阶段:1,在内存中开辟一个存储空间,并且定义内存地址2,定义函数的程序内容,存储在这个内存地址表示的空间中,此时程序没有被执行,并以字符串的形式来存储在堆中。3,将内存地址存储在变量名称/函数名称中函数的调用阶段:1,读取变量名称/函数名称中存储的内存地址2,通过内存地址,找到对应的...
2020-03-17 21:35:49 158
原创 JS函数详解
1、 JS函数概念:能够实现固定功能的代码块,它是一种实现某种功能的工具。函数也是一种数据类型。定义函数时需使用关键字–function.特点:封装,将需要的代码,写入到函数中;调用,可以在任意需要位置上调用执行代码;重复,一个函数可以反复调用。分类:命名函数和匿名函数。函数定义形式:function 函数名称(函数的参数){ 函数的代码; ...
2020-03-16 22:19:51 321
原创 Js循环之三角形和矩形实例
1、 For和while循环for循环是应用最广泛的循环形式,它适用于已知循环次数、循环嵌套情况。for循环可以和while循环进行转化,两个语法,只是形式不同,作用,功能等全都完全相同For循环形式:for(循环变量的初始值;判断进入条件;步长){循环体},它的优点之一,是将循环变量和循环次数相关的设定都定义在()中,使设定内容更加集中,不容易造成语法形式混乱。2、 循环及其嵌套的例...
2020-03-14 10:51:03 1122
原创 JS中的循环和判断
判断循环上次笔记中说过三元运算符,它相当于简单的if判断语句(if…else)。1、 if…else形式:if(条件){语句块1}else{语句块2},执行顺序是:先判断条件是否成立,若成立,则执行语句块1的代码;若不成立,则执行语句块2内的代码。当有多个if条件判断语句嵌套时,此时不建使用三元运算符。另外,它还有多个判断语句并列的形式:if(){}…else if(){}…else i...
2020-03-12 21:58:53 2357
原创 JavaScript中的运算符
JavaScript中的运算符1、 作用:操作变量或变量中的数据,以实现某种功能。2、 分类:算术(数学)运算符:+ - * / %;赋值运算符:= += -= *= /= %=;比较运算符:> < >= <= == === != !==;逻辑运算符:&& || !;自增运算:++、--;三元运算符:条件?表达式1:表达式2。3、 用法:...
2020-03-11 21:57:51 205
原创 JS变量数据
数值变量:NaN:notanumber,不是一个数,它表示变量存储的数据类型,本身属性数字类型。NaN虽然表示是一个非数字,但是一般是算术运算执行的结果,因此NaN仍然是数值类型;执行运算时,非加法运算,只要有NaN参与,执行结果都是NaN;如果是加法运算,有NaN执行字符串拼接操作,都是数值执行加法运算;NaN永远不会等于NaN即NaN!=NaN,执行结果是false。不能用NaN来判断一...
2020-03-10 21:50:30 152
原创 CSS选择器
CSS有许多优点,比如容易针对所以同类型元素添加样式,减少工作量,当然正确使用选择器会让你事半功倍,若是使用不恰当,便会给你的工作徒增难度。一般我们在使用选择器时,它的结构最好不要超过三层,一方面可以简化样式选择器的长度,另一方面,方便代码的维护。规则选择器的规则分为两块,即选择器(selector)和声明块(declaration block)。CSS中分了许多选择器,比如行内选择器、I...
2020-03-07 16:23:54 114
原创 h5新语义化标签(重要)
1、HTML5新语义化标签html4.01:div span h1 img…css2.1:width height background…css3:transform border-radius…h5新语义化标签:header footer main…注:header footer main 语义化标签在一个页面中只能出现一次。h5新语义化标签:hgroup nav article a...
2020-03-04 08:16:03 779
原创 grid网格布局
概念:它将网页划分成n个纵横网格,在布局上属于二维布局,它可以任意组合不同的网格,但所做出的网格要求都是矩形格。网格的细密可以通过横纵数及宽高值来设置。它的使用和flex使用的情况大同小异,属性都分为作用在父元素上的及作用在子元素上的,而设置在父元素上的值,可以针对所以子元素的排列、对齐等样式来设定,指定网格区域的划分、网格大小、网格数目也是在父元素上进行设置。另外,子元素的属性当然就是设置自身的...
2020-03-01 17:06:24 206
原创 flex弹性布局
1、优点:可以控制子元素的排列方式,相对浮动来说,它更简单方便,不需要单独考虑是左浮动还是右浮动,以及浮动后对下面的元素的影响。2、缺点:它属于一维布局,不能很好的针对页面进行布局,譬如:在做筛子页面时,你需要设置多个容器为flex,使代码增加繁琐。这便是它相对grid布局短板。3、flex在使用时的注意点flex作用在父容器上比如我们想要将某一容器设置为弹性容器时,我们一般需要这样设置...
2020-03-01 13:10:29 140
原创 弹性布局flex
弹性布局:优势是做一维布局,而网格布局的优势是做二维布局。以下均是常用flex属性的详解作用在父元素上(7个属性) display : flex:将容器设为弹性 flex-direction:布局的排列方向(主轴排列方向) row 默认值,显示为行。方向为当前文档水平流方向,默认情况下是从左往右。 row-reverse 显示为行。但方向和r...
2020-02-24 21:04:52 138
原创 H5前端总结
1、 CSS SpriteCSS中的雪碧图(有的称精灵图),它可以优化网页的手段,提高加载速度,减少图片的质量,使网页的图片加载速度快,还可以减少图片的请求的次数,加快网页的打开。我们可以通过PS工具中的切片工具,方便在雪碧图中测量所需要图片的位置和大小。当然在我们手中有若干图片时,也可以在线处理雪碧图:http://alloyteam.github.io/gopng这个网站,来快速帮我们生成雪...
2020-02-23 16:27:40 299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人