自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小黑黑的博客

大前端

  • 博客(29)
  • 收藏
  • 关注

原创 关于服务器网络代理解决方案(1024)

在服务器A上,使用SSH客户端创建一个SSH隧道,将服务器A的本地端口(例如9998)转发到服务器B上的SSH服务器。确保服务器A和服务器B之间的SSH连接是安全的,并只允许授权的用户访问服务器B。配置反向代理 在 Nginx 的配置文件中,设置反向代理规则,将请求从无法访问外网的服务器代理到能够访问外网的服务器。在服务器A上,将你的应用程序或服务配置为使用本地端口9998,这样它会通过SSH隧道传输流量到外网目标服务器。在服务器B上设置SSH服务器 首先,在服务器B上安装和配置SSH服务器。

2023-10-24 19:03:07 868

原创 在Linux服务器上部署Tornado项目

创建一个Nginx配置文件(通常位于/etc/nginx/sites-available/目录下),并创建一个符号链接到/etc/nginx/sites-enabled/目录。配置Tornado应用以在服务器启动时自动启动,这样在服务器重启后应用也会自动运行。安装和配置一个Web服务器,如Nginx或Apache,以用作反向代理,将请求传递给Tornado应用。如果你使用了防火墙,确保将Tornado应用的端口(默认为8888)添加到防火墙规则中,以允许流量通过。安装Tornado和项目的其他依赖项。

2023-09-11 10:32:05 846

原创 【无标题】

Markdown

2022-10-24 18:11:43 298

原创 vue在一个组件引用另一个组件时间过长时报错

报错信息:找原因:报错提示为组建为注册,但是在查找后发现组件已经注册了。所以这个原因可以排除。循环调用组件事,组件比vue实例后创建,官方文档中提到组件必须咸鱼实例化引入,所以这个问题是引入的问题。解决方法:改变组件的引入方式正常组件的引入方式为:第197行为正常的import引入,然后在components中进行注册,但是当循环引入报错时,采用288行引入注册的方法。...

2021-01-14 14:14:18 382 1

原创 1024程序员节快乐

1024一给我滴GiaoGiao欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的

2020-10-25 11:34:17 572

原创 函数防抖

简单来说,函数防抖指的是多次触发事件,事件处理函数只执行一次;window.onscroll = foo(change, 500) function change() { console.log(1) } function foo(fn, time) { var flag = true ...

2019-10-23 10:04:28 225

原创 函数节流

函数节流函数节流是为了解决有时候连续触发某个事件或者连续滚动而频繁的操作DOM以至于浏览器可能奔溃的问题。为了绕开这个问题,你可以使用定时器对函数进行节流。函数节流的基本思想是:某些代码不可以在没有间断的情况下连续重复执行。 window.onresize = foo(change,500) function foo(cn,time){ let ...

2019-10-22 09:35:30 291

原创 jq插件

请编写一个JQ验证插件,该插件的使用方式如下: <form id="myform"> <input type="text" name="username" req="用户名不能为空" id='one'> <input type="text" name="email" req="邮箱不能为空" email="请填写正确的邮箱格式" cl...

2019-09-26 16:02:08 749

原创 jq中绑定事件与普通事件的区别

.click(function(){})与.on(‘click’,function(){})的区别,前者是jq中普通的写法,后者为绑定事件的写法,最大的区别为后者可以给动态创建元素添加事件<ul> <li>1</li> <li>2</li> <li>3</li> ...

2019-09-26 12:00:12 434

原创 手写reduce方法

首先我们要理解reduce()reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。var data = [4,8,15,16,23,42]; var add = function (a,b){ return a+b } Array.prototype.myReduce = f...

2019-09-25 08:34:05 1603

转载 前端面试题(九):手动实现一个call方法和apply方法以及bind方法

前端面试题(九):手动实现一个call方法和apply方法以及bind方法

2019-09-24 21:44:11 388

原创 对象的深拷贝

完成一个对象的深拷贝(不允许使用JSON.parse)function deepCopy(obj){ var newObj = (obj instanceof Array) ? [] : {}; for(var attr in obj){ if(typeof obj[attr] == 'object'){ ...

2019-09-24 08:14:13 184

原创 使用Promise实现,当A和B任一函数完成时,执行C

3.请使用Promise实现,当A和B任一函数完成时,执行Cfunction A(){var promise = new Promise(function(resolve, reject){setTimeout(function(){console.log(1);resolve();},3000)})return promise;}function B(){var promi...

2019-09-23 21:11:31 531

原创 使用Promise实现,当A和B都完成时,执行C

请使用Promise实现,当A和B都完成时,执行C function A(){ var promise = new Promise(function(resolve, reject){ setTimeout(function(){ console.log(1); resolve(); ...

2019-09-23 21:01:41 1067

原创 有3个异步函数A/B/C,请使用Promise实现ABC的顺序执行

问题:有3个异步函数A/B/C,请使用Promise实现ABC的顺序执行。首先来了解promise,Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。promise有三种状态,Pending(进行中)、Re...

2019-09-23 08:44:52 2932

原创 单例模式

单例模式为设计模式中最简单的一种模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。单例模式分为两种:1、懒汉模式function Foo(){ } var a1 = new Foo(); var a2 = new Foo(); console.log(a1 == a2);...

2019-09-11 20:11:38 143

原创 原生js知识点梳理

大致总结一下,标记部分为不熟悉的地方,用于以后的复习用

2019-09-10 21:40:26 822

原创 瀑布流

html页面的代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta ht...

2019-09-05 21:32:36 194

原创 jQuery中$()的功能

1、${}具有获取元素的功能,当只有标签名时直接在()里输入标签名。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1....

2019-09-05 09:38:50 1244

原创 用PHP语言实现数据库的增、删、改、查

原本学过java的数据库操作,现在又学了用PHP语言来实现感觉都差不了太多。首先在php文件中写form表单用来提交数据form中的action为数据要提交的地方,method为提交方法。当跳转到对应界面后开始对数据库进行操作header中设置PHP的输出格式为HTML文件,编码为utf-8第四行代码为进行数据库的链接,在括号中有四个参数第一个参数:localhost或者127.0...

2019-08-31 08:23:47 1234

原创 鼠标移入事件onmouseover、onmouseenter 鼠标移出事件onmouseleave、onmouseout 的区别

onmouseenter和onmouseover都是鼠标移入事件,即鼠标放入到元素上相应事件触发,但是这两个事件是存在差别的。onmouseover、onmouseout子元素会影响到父元素, 而onmouseenter和onmouseleave 子元素不会影响父元素 var box = document.getElementById('box'); var box2 = docu...

2019-08-27 20:13:29 5620

原创 利用canvas做的下雨特效

下面是详细代码跟详细注释,可能会存在一些我未发现的bug。效果图为<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1...

2019-08-25 08:30:27 1301

原创 正则表达式

正则表达式又称规则表达式。通常用来检索、替换那些符合某个模式的文本,正则表达式是操作字符串的。正则的写法:1、var re = /a/;在正则中的字符串不需要添加引号。2、var re = new RegExp(‘a’);这种写法字符串需要加引号,同时正则表达式在传参时需要用这种方式。可以操作的正则方法:6种字符串:match()、search()、replace()、split()正...

2019-08-23 11:53:04 124

原创 节点的操作

节点的创建:用creatElement()方法来创建节点,但是creatElement前面只能写document,但是只是在JS中创建好了,并没有添加到页面内容中。此时已经生成了li节点,但是在html的框架中并没有发现有新的li在ul下生成。通过appendChild、insertBefore这两个方法,把创建的节点添加到页面中,也可以对页面中已经存在的节点进行操作,默认是剪切。ap...

2019-08-19 08:32:26 327

原创 闭包

闭包:闭包就是能读取其他函数内部变量的函数。就是内部函数的子函数,可以理解成定义在一个函数内部的函数。优点:1、防止变量冲突2、拥有独立的作用域,让局部变量保持一个。注意:函数声明不能用闭包,函数表达式才能用闭包。此时输出a会显示a undefined 因为var a = 1;是在函数内部定义的而外面的console.log()无法获取函数内部的a,所以显示undefined。要想得...

2019-08-16 08:38:02 232 1

原创 几种常用的排序方法

1、冒泡排序,原理:依次比较相邻的两个值,如果后面的比前面的小,则将小的元素排到前面。依照这个规则进行多次并且递减的迭代,直到顺序正确。因为是两个相邻的数进行比较,刚开始进行第一轮比较时总共进行6次比较,为数组长度减一。经过第一轮的比较能够将数组中最大的那个数找出且放到最后一位,此时进行第二轮比较原理与上一次一样,但是此时已经找出原数组的最大值,因此比较时只需要将前面的数值进行比较就行,数组比...

2019-08-15 11:36:55 1585

原创 回调函数

回调函数是我在学习JS过程成遇到的一个难题,至今还不能完全的掌握,下面是我就个人的一些总结,如果有错误的地方请大佬指出。回调函数:把一个函数放到参数中(当做一个参数),就是回调函数使用:不能复用的语句可以放到回调函数中、解决异步问题这里cb是形参,实参为函数function(val,i,a) 这个函数的功能是让数组中的每一项与30比较,只要有不符合条件的就会返回false,这个函数当做参数...

2019-08-14 08:38:42 478

原创 数组的基础方法

数组:数组属于一个特殊对象,用typeof查看类型为object数组是一个集合,字符串不能改变长度但是数组可以改变长度。数组中常用的几个方法:push():往数组的最后添加新的子项,可以添加一个也可以添加多个该方法会改变原来的数组。unshift():往数组起始位置添加新的子项。改方法也会改变原来的数组。pop():删除数组最后一项,没有参数该方法会改变原数组shift(...

2019-08-13 08:42:21 113

原创 DOM获取元素的几种方式

DOM1、可以通过id来获取元素 document.getElementById();在代码中比如你好此时就能够获取id为box的元素信息,且在控制台将 你好 输出 同时也可以通过innerHTML来改变box元素里的内容。a.innerHTML = ‘hello’;此时页面上显示的为 hello。2、document.getElementByClassName()是通过获取class...

2019-08-08 14:55:19 1425 1

空空如也

空空如也

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

TA关注的人

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