前端开发
一条小姜鱼
这个作者很懒,什么都没留下…
展开
-
【JavaScript】变量提升以及var对变量提升的
转载于:https://blog.csdn.net/recoluan/article/details/79253223仅供个人记录使用,侵删什么是变量提升//变量声明提升function test() { var a = "1"; var f = function(){}; var b = "2"; var c = "3";}//上述代码等价于function test() { var a,f,b,c; a = "1"; f =转载 2021-08-02 10:28:13 · 198 阅读 · 0 评论 -
二叉树之层次遍历(js)
转载自:https://blog.csdn.net/blueblueskyhua/article/details/73008634二叉树之层次遍历输入一棵二叉树,你的任务是从上到下,从左到右的顺序输出各个结点的值。每个结点都是按照从根节点到它移动序列给出(L表示左,R表示右)。在输入中,每个结点的左右括号之间没有空格,相邻节点之间用一个空格隔开。输入:(11,LL)(7,LLL)(8,R)(5,)(4,L)(13,RL)(2,LLR)(1,RRR)(4,RR)输出:5 4 8 11 ..转载 2021-07-27 20:31:16 · 435 阅读 · 0 评论 -
js数组去重
转载自:https://blog.csdn.net/jiangwei1994/article/details/82992985一、for循环嵌套,利用splice去重function newArr(arr){ for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ //如果第一个等于第二个,splice转载 2021-07-22 10:49:06 · 194 阅读 · 0 评论 -
浅拷贝与深拷贝
var obj = { name: 'zhangsan', age: '18', msg: { sex: '男' }, hobbies: ['唱歌', '跳舞']}// 函数实现深拷贝var o = {}function deepCopy(newobj, oldobj) { for (var k in oldobj) { //获取属性值 判断属性值属于什么数据类型 var item = oldobj[k] if (item .原创 2021-07-12 11:58:02 · 86 阅读 · 0 评论 -
简单介绍一下闭包
闭包的含义:是一个函数,可以调用其他函数声明的变量,其作用是:延长变量的使用范围var name = "the window";var object = { name: "my object", getNameFunc: function() { return function() { return this.name } }};console.log(object.getNameFunc()()) // 输出 t原创 2021-07-12 11:45:53 · 190 阅读 · 0 评论 -
改变函数内部的this指向: call apply bind
1.call方法可以调用函数 还可以改变函数内部的this指向,主要作用是可以实现继承:fn.call(thisObj, arg1, arg2 ...)2.apply方法可以调用函数 还可以改变函数内部的this指向,但是他的参数必须是数组[伪数组] :fn.apply(thisObj, [arg1, arg2 ...])apply方法可以借助于数学内置对象求数组中的最大值或最小值:var arr = [1, 2, 33]var max = Math.max.apply(Math,原创 2021-07-12 11:33:35 · 131 阅读 · 0 评论 -
原型链+继承
首先,先来了解一下创建对象的三种方法:1.利用 new Object() 创建对象 var obj1 = new Object()2.利用对象字面量创建对象 var obj2 = {}3.利用构造函数创建对象function Star(uname, age) { this.uname = uname; this.age = age; this.sing = function() { console.log('唱歌') }}var yyqx= ...原创 2021-07-12 11:20:32 · 109 阅读 · 0 评论 -
ajax技术发送跨域请求时设置携带cookie信息
在使用ajax技术发送跨域请求时,默认情况下不会在请求中携带cookie信息,如s1网站的客户端向s1服务器端发送数据请求时设置 xhr.withCredentials = true 默认为false,且在s2服务器端做如下设置:app.use((req, res, next) => { // 1.允许哪些客户端访问我 // *代表允许所有的客户端访问我 res.header('Access-Control-Allow-Origin', '*') // 2.允许客原创 2021-07-11 21:04:19 · 1288 阅读 · 0 评论 -
同源政策(跨域请求)
同源:如果两个页面有相同的协议、域名和端口,那么这两个页面就属于同一个源,其中只要有一个不相同,就是不同源。不同源的网站之间是不允许发送ajax请求的解决方案:1.JSONP解决同源限制问题,其整体原理如下(若想直接用可直接跳转到优化4):假设有两个服务器,服务器 s1监听3000端口,s2监听3001端口// s1服务器对应的前端代码<script> function fn (data) { console.log('3000服务器的客户端被执行了')原创 2021-07-11 20:58:18 · 135 阅读 · 0 评论 -
一个封装好的 ajax 请求函数
已封装好,可直接使用,代码如下: <script> function ajax(options) { var defaults = { type: 'get', data: {}, header: { 'Content-Type': 'application/x-www-form-urlencoded' // Content-Type里有中横线,不加引号不合原创 2021-07-11 20:26:51 · 110 阅读 · 0 评论 -
module.exports与exports,export与export default之间的关系和区别
转载自:https://www.cnblogs.com/fayin/p/6831071.html首先我们要明白一个前提,CommonJS模块规范和ES6模块规范完全是两种不同的概念。CommonJS模块规范Node应用由模块组成,采用CommonJS模块规范。根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(转载 2021-07-11 10:59:01 · 66 阅读 · 0 评论 -
使用CSS3实现一个三角图标
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>D.原创 2021-07-06 16:45:31 · 106 阅读 · 0 评论 -
让盒子实现水平和垂直居中
第一种方法: 定位加margin<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge">原创 2021-07-06 16:27:44 · 88 阅读 · 0 评论 -
CSS3中的伪元素选择器
伪类选择器1. ::before 在元素内部的前面插入内容2. ::after 在元素内部的后面插入内容相关注意事项:1)before 和after 必须有 content 属性2)before 在内容前面,after 在内容后面3)before 和 after 创建的是一个元素,但是属于行内元素,因此如果想增加宽高属性,可以使用 display 将其转换成行内块或者块元素。4)创建出来的元素在 Dom 中查找不到,所以称为伪元素5)伪元素和标签选择器一样,权重为 1举.原创 2021-07-06 16:09:52 · 1040 阅读 · 0 评论 -
关于CSS3中 nth-child 与 nt-of-type 的区别
首先,nth-child是选择父元素里面的第几个子元素,不管是第几个类型,而nt-of-type是选择指定类型的元素。举例说明:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <met...原创 2021-07-06 15:26:46 · 282 阅读 · 0 评论 -
解决This is probably not a problem with npm. There is likely additional logging output above.的问题
转载于:https://blog.csdn.net/qq_38111015/article/details/91958989如果出现这种报错情况,需要重新安装node_modules文件夹中的内容但是在安装前 要把之前的内容都清空掉 步骤如下:1. 首先删除node_modulesrmdir /s/q node_modules2.删除package-lock.json文件3.npm cache clean --force4.npm install(npm i 就可以)...转载 2021-07-04 13:39:04 · 588 阅读 · 0 评论 -
在已创建超级管理员的情况下再次为MongoDB添加账号
接上一篇博客。1. 首先使用管理员方式打开 cmd 命令行窗口。2. 输入net start MongoDB 启动数据库。3. 输入 mongo 命令,进入数据库。4. 输入 use admin 切换到 admin 数据库。5.输入 db.auth('root','root') 登录。6.show dbs; 查看数据库。7. 输入 use xxx 切换到新增的 xxx 数据库。8. 输入 db.createUser({user:'用户名',pwd:'密码',roles...原创 2021-07-04 13:31:12 · 69 阅读 · 0 评论 -
MongoDB 添加用户名和密码
1. 首先需要安装 mongodb 。 安装教程可参考:https://blog.csdn.net/weixin_41466575/article/details/1053262302. 在终端输入 mongo ,并添加超级管理员。show dbs // 显示所有的数据库use admin // 切换到admindb.createUser({user:'root',pwd:'root',roles:['userAdminAnyDatabase']})db.auth('root','..原创 2021-07-04 13:24:26 · 186 阅读 · 0 评论 -
box-shadow 详解
原文链接:https://blog.csdn.net/weixin_33696106/article/details/924188331. box-shadow属性语法 box-shadow 属性接受值最多由五个不同的部分组成。 box-shadow: offset-x offset-y blur spread color position; 换句说: 对象选择器 {box-shadow:X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色 投影方式 ...转载 2021-07-04 13:11:16 · 975 阅读 · 0 评论 -
git 实现回滚代码版本
原文链接:https://blog.csdn.net/xinzhifu1/article/details/92770108使用 Git 回滚代码到某个commitgit reset --hard HEAD^ // 回退到上一个版本git reset --hard HEAD~3 // 回退到前3次提交之前,以此类推,回退到n次提交之前git reset --hard commit_id // 退到/进到,指定commit的哈希码(这次提交之前或之后的提交都会回滚)// 回滚后提交可能会失转载 2021-07-04 12:57:04 · 117 阅读 · 0 评论 -
关于 npm install --save 与 --save-dev 的区别
参考文章:https://www.cnblogs.com/limitcode/p/7906447.html当我们在使用 npm install 安装模块的时候,一般会有以下几种命令形式:npm install xxxx // 安装模块到项目目录下npm install xxxx -g // 全局安装 具体位置可查看 npm config prefixnpm install xxxx --save // 安装到项目目录下,并在package文件的dependencies节点写入依赖。np原创 2021-07-04 12:46:03 · 121 阅读 · 0 评论