log

原生JS实现栈结构

扶醉桌前 提交于 2020-03-23 12:12:47
1. 前言 栈,是一种遵从后进先出(LIFO,Later-In-First-Out)原则的有序集合。新添加的元素都保存在栈的一端,称作栈顶,另一端叫做栈底。在栈中,新元素都靠近栈顶,旧元素都靠近栈底。 2. 功能说明 push(value):添加一个新元素到栈顶 pop():移除栈顶的元素,同时返回该元素 peek():获取栈顶的元素 isEmpty():判断栈是否为空。是返回true,否返回fallse clear():清空栈里的元素 size():获取栈里元素的个数 3. 代码实现 首先,先创建一个类表示栈,并且初始化一个空数组,用来保存栈里的元素 class Stack { constructor() { this.items = []; }; } 接着,在这个栈类中实现所需要的功能: class Stack { constructor() { this.items = []; }; push(value) { this.items.push(value); }; pop() { return this.items.pop(); }; peek() { return this.items[this.items.length - 1]; }; isEmpty() { return this.items.length === 0; }; clear() { return this

前端开发面试题

▼魔方 西西 提交于 2020-03-23 12:06:01
1、 什么标签语义化 HTML中包含的标签有那些 行内标签和快级标签的区别是什么 行内标签和快级标签有那些(个举例8个) 行内标签和快级标签如何相互转换 display有那些常用值(不少于8个) 2、 如何隐藏一个div(不少于6种) 3、 console.log( typeof typeof typeof [1,2,3] ); 4、 var num1 = 12; var num2 = num1; num2 ++; console.log(num1); var obj1 = {name:"ntsc",age:22}; var obj2 = obj1; obj2.age = 27; console.log(obj1.age); 5、 var obj1 = {name:"ntsc",age:19}; var obj2 = obj1; var obj3 = obj2; obj3.age = 24; obj2 = {name:"李四",age:20}; console.log(obj1.age); console.log(obj2.age); console.log(obj3.age); 6、 (function() { var a = b = 5; })(); console.log(b); 7、给String对象定义一个repeatify方法。该方法接收一个整数参数

MySQL主从修复

隐身守侯 提交于 2020-03-23 09:13:52
MySQL主从故障修复 测试库: 192.168.1.2 主 192.168.1.3 从 192.168.1.4 主 4又是2的从库 192.168.1.5 从 有人修改了192.168.1.2和192.168.1.3的数据库参数后,重启数据库。 忘记了192.168.1.4又是192.168.1.2的从库,导致192.168.1.2和192.168.1.4的主从断掉。 并且在192.168.1.2上创建了新库还原数据删除等操作,导致192.168.1.4提示错误。 模拟如下: 通过从库查看主从状态: mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 172.16.33.243 Master_User: master Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000006 Read_Master_Log_Pos: 303 Relay_Log_File: relay-log.000005 Relay_Log_Pos: 340 Relay_Master

Js对象

微笑、不失礼 提交于 2020-03-23 06:19:43
Function引用类型创建的对象也叫函数。 一、创建函数:   1.function 函数名(x,y,z...){     各种js语句     }   2.var 函数名=function(x,y,z...){   各种js语句     } 二、调用函数:   函数名(); 三、函数可以有返回值:关键字return,如 1 var $1=function (){ 2 console.log('function $1 running~'); 3 return 2; 4 }; 5 console.log($1());   输出结果如下: 四、function对象有默认属性length,代表形参的个数。 Array引用类型创建的对象也叫数组。 一、是数据的集合,数组里面的值称为数组元素; 二、数组元素可以是基本数据类型,也可以是数组或Object类型; 三、实例: 1 <script type="text/javascript"> 2 var arr1 = new Array(); 3   arr1[1]=3; 4   arr1[2]={ 5     name:'zrh' 6   }; 7   var arr2=new Array('blue','gray','red'); 8 var arr3 =[5,'2','zrh',true]; 9   console.log(arr1[1]

es5中数组的迭代方法 forEach,map,filter,some,every

北城余情 提交于 2020-03-22 18:22:37
1.forEach()map()方法 遍历数组 var array = [11,85,69,32,55,66] array.forEach((value,index)=> { console.log(value,index) }); map()和forEach相似,都是遍历 ,不会改变原数组,不会对空数组进行检测 var array = [11,85,69,32,55,66] var newArr=array.map((value)=> { return value*2 }); console.log(newArr) 2.filter过滤器 筛选出需要的数组元素 (所有的) var arr= [11,85,69,32,55,66] var newArr = arr.filter((value)=>{ return value % 2 ===0 }) console.log(newArr) 3.some() map()查找数组中有没有满足条件的数组 返回的是一个布尔值,只要找到第一个满足的元素存在即停止 var arr= [11,85,69,32,55,66] var newArr =arr.some((value)=>{ return value>20 }) console.log(newArr); 只要找到第一个满足的元素存在即停止 (第一个满足的) var colors = [

es6---变量声明方式

家住魔仙堡 提交于 2020-03-22 16:57:26
1. 声明一个变量有多少种方式 var, function, let, const, import, class 2. let, const a. 块作用域 (es6引入了块级作用域,所以 let、 const在自己所在的代码块有效 ) b. 不存在变量的提升,且存在死区 c. 不可以重复声明 d. const不变的指针,指针里面的内容可变 3. 变量的解构 let 1. let只在所在的代码块中有效 2. 以前我们需要用IIFE解决的问题 https://blog.csdn.net/u013746071/article/details/80595596 3. 不存在变量声明提升 4. 暂时性死区TDZ //1. let只在所在的代码块中有效 for (var i = 0; i < 10; i++) { } console.log(i); //10 for (let j = 0; j < 10; j++) { } console.log(j); //// Error: j is not define console: //2. 以前我们需要用IIFE解决的问题 for (var i = 0; i < 5; i++) { setTimeout(() => { console.log(i);//输出5次5 }, 0); } for (var k = 0; k < 5; k++) {

Chrome 控制台不完全指南

纵饮孤独 提交于 2020-03-21 21:26:41
因为某些原因 国内墙谷歌的Chrome实在厉害 所以我比较推荐使用天行浏览器 原因不解释 你自己试着Google一下就知道了 插件也就不多说推荐了 Chrome的开发者工具已经强大到没朋友的地步了,特别是其功能丰富界面友好的console,使用得当可以有如下功效: 更高「逼格」更快「开发调试」更强「进阶级的Frontender」 Bug无处遁形「Console大法好」 console.log 大家都会用log,但鲜有人很好地利用 console.error , console.warn 等将输出到控制台的信息进行分类整理。 他们功能区别不大,意义在于将输出到控制台的信息进行归类,或者说让它们更语义化。 各个所代表的语义如下: console.log :普通信息 console.info :提示类信息 console.error :错误信息 console.warn :警示信息 当合理使用上述log方法后,可以很方便地在控制台选择查看特定类型的信息。 console.log('一颗红心向太阳','吼吼~'); console.info('楼上药不能停!'); console.warn('楼上嘴太贱!'); console.error('楼上关你毛事?'); 如果再配合 console.group 与 console.groupEnd ,可以将这种分类管理的思想发挥到极致

ES6 let和count

有些话、适合烂在心里 提交于 2020-03-21 20:02:57
1、let命令用法:   a、let用来声明变量,类似var,但用let声明的变量,只能在其代码块中引用,相当于私有变量,不会被外界所获取:     function fn(){       let a = 1       console.log(a) 这里可以直接调用     }     console.log(a) 在函数外面访问输出就会报错     以后在for循环中比较适合用let:      var a = [ ] ;      for ( var i = 0 ; i < 10 ; i ++ )        a [i ] = function ( );         console . log (i )       }      }    a[6]();这里会输出10     用var声明的i相当于全局变量,在全局范围内都有效,所以全局只有一个变量 i 。每一次循环,变量 i 的值都会发生改变,而循环内被赋给数组 a 的函数内部的 console.log(i) ,里面的 i 指向的就是全局的 i 。也就是说,所有数组 a 的成员里面的 i ,指向的都是同一个 i ,导致运行时输出的是最后一轮的 i 的值,也就是10。     把var换成let,最后输出的结果就是6     还有在fou循环中,设置循环的部分是父作用域,在循环体内是子作用域:     for (

小白项目部署

老子叫甜甜 提交于 2020-03-21 19:49:20
项目开发完毕后,需要将代码放到服务器上,这样用户才能访问。接下来我们一步一步来进行一波部署操作。 1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前服务器IP或*,如: 1 ALLOWED_HOSTS = [ "*" ,] 示例源码:猛击下载 然后将源码上传至服务器指定目录,如:/data/ ,然后执行命令来运行: 注: 上传命令: scp /Users/wupeiqi/PycharmProjects/oldboy-1.zip root@192.168.10.33:/data/ 解压,进入目录并执行以下命令: 1 python3 mange.py runserver 0.0 . 0.0 : 8000    2. uwsgi Django框架运行依赖wsgi(本质提供socket服务端),众多模块实现了wsgi规范,而django框架中默认使用wsigiref模块来实现,他由于性能比较低,所以用于本地开发和测试,而线上部署时需要使用uwsgi来代替。 a. 在服务器上安装uwsgi 1 pip3 install uwsgi 需要先安装:yum install python-devel b. 单文件使用uwsgi 在服务器上编写一个Python文件: 1 2 3 def application(env, start_response)

获取简短的Git版本哈希

冷暖自知 提交于 2020-03-21 19:11:40
3 月,跳不动了?>>> 有没有更简洁的方法从Git获取 HEAD 的短版本哈希? 我希望看到与我相同的输出: git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8 我最初使用上面的命令来生成版本字符串,但这更好: git describe --tags 它将输出字符串,如 0.1.12 (标记提交)或 0.1.11-5-g0c85fbc (标记后的五次提交)。 #1楼 分支短哈希和最后评论: git branch -v develop 717c2f9 [ahead 42] blabla * master 2722bbe [ahead 1] bla #2楼 一个非常简单的方法是: git describe --always #3楼 git log -1 --abbrev-commit 也会这样做。 git log --abbrev-commit 将列出具有缩写SHA-1校验和的日志条目。 #4楼 查看Git提交短版本和Git提交消息的简单方法是: git log --oneline 请注意,这是简写 git log --pretty=oneline --abbrev-commit #5楼 我有Git版本2.7.4,具有以下设置: git config --global log.abbrevcommit yes