- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 IE浏览器的缓存问题
问描述题项目中用户在网页中退出登录后,立即切换为另一个账号登录,在IE中却出现某些数据依然为上一个用户保留的?问题思考为啥只在ie中存在?为啥只是某些数据?问题原因ie浏览器在第一次get请求时会从后端数据中获取资源,然后保存到自己的缓存中,往后的几次同一个url的请求ie浏览器不再会去从后端数据库获取资源而是直接从缓存中获取。解决方法1.在每次ge
2018-01-27 11:44:33
427
原创 js中debugger常用的几个命令
文中用的是chrome浏览器step 快捷键:F9 单步执行step into 快捷键:F11 全称:step into next function 单步执行,遇到子函数就进去继续单步执行step over 快捷键:F10 全称:step over next function 单步执行,遇到子函数并不进去,将子函数执行完并将其作为一个单步step out 快捷键:Shift + F1
2018-01-27 10:59:47
5109
1
原创 location.hash 与location.href
1、window.location.href 获取和修改url,window.location.href="www.baidu.com”表示的是重新定向,页面跳转到新的页面。 2、window.location.hash 得到的是锚链接。相比如href,通过window.location.hash
2017-10-12 10:00:32
1190
原创 vertical-align属性
vertical-align:middle 通俗理解:把此元素放置在父元素的中部。精准理解:元素的中垂点与父元素的基线加1/2父元素中字母x的高度对齐。该属性是作用在子元素上。具体的理解楼主可以参考此大神博客:http://www.zhangxinxu.com/wor...基线的位置如下图:可以结合英语字母的书写方式
2017-09-20 16:21:48
406
转载 js android ios检测
function getMobileOperatingSystem() { var userAgent = navigator.userAgent || navigator.vendor || window.opera; // Windows Phone must come first because its UA also contains "Android"
2017-09-20 15:54:13
566
原创 根据先序 中序构造二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回实现代码/** * Definition for binary tree * struct TreeNode { * int val; *
2017-09-16 07:20:37
558
原创 对原型链的理解
链接:https://www.nowcoder.com/questionTerminal/958d0ae11c9b46e09d7b919467dce9a4来源:牛客网var F=function(){};Object.prototype.a=function(){};Function.prototype .b=function(){};var f=new F();
2017-09-06 15:37:16
408
原创 Symbol
Symbol函数前不能使用new命令,否则会报错。这是因为生成的 Symbol 是一个原始类型的值,不是对象。也就是说,由于 Symbol 值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。注意,Symbol函数的参数只是表示对当前 Symbol 值的描述,因此相同参数的Symbol函数的返回值是不相等的。// 没有参数的情况var s1 = Symbol
2017-09-06 11:00:22
450
原创 js class
类不存在变量提升(hoist),这一点与 ES5 完全不同。new Foo(); // ReferenceErrorclass Foo {}与函数一样,类也可以使用表达式的形式定义。const MyClass = class Me { getClassName() { return Me.name; }};上面代码使用表达式定义了一个类。需要注意的是,这个类的名
2017-09-06 09:50:35
635
原创 es6 模块
ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。// ES6模块import { stat, exists, readFile } from 'fs';上面代码的实质是从fs模块加载3个方法,其他方法不加载。这种加载称为“编译时加载”或者静态加载,即 ES6 可以在编译时就完成模块加载,效率要比 CommonJS 模块的加载方式高。当然,
2017-09-05 15:10:35
355
原创 Generator 函数
Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不同的内部状态(yield在英语里的意思就是“产出”)。执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历 Generator 函数内部的每
2017-09-05 11:09:10
305
原创 es6 map
ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。Map构造函数接受数组作为参数,实际上执行的是下面的算法。co
2017-09-04 16:16:11
366
原创 es6 set
const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 5 4上面代码通过add方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。Set 函数可以接受一个数组(或者具有 iterable 接口的
2017-09-04 15:46:20
261
原创 promise 和async await
var getJson = function (url) { var promise = new Promise(function (resolve,reject) { let client = new XMLHttpRequest(); client.open("GET",url); client.onreadsta
2017-09-04 15:12:54
996
原创 js promise 模式的 异步回调函数
//constructor var Promise = function() { this.callbacks = []; } Promise.prototype = { constructor: Promise, resolve: function(result) {...
2017-09-03 17:41:26
810
原创 js 中的琐碎问题
(function () { var a = b =20; })(); console.log(typeof a === "undefined")//true console.log(typeof b === "undefined")//false console.log(b)//20因为 赋值语句 从右往左
2017-09-02 18:10:51
291
原创 js 深度copy 深复制
function deepCopy(target,answer) { var answer = answer ?answer :{}; for (var a in target) { if(typeof target[a] === "object") { if(target[a] === null) {
2017-08-31 16:16:19
328
原创 BFC visibility display none opacity rgba
满足下列属性之一就属于BFC - float属性不为none. - position属性不为static和relative. - display属性为下列之一:table-cell,table-caption,inline-block,flex,or inline-flex. - overflow属性不为visible.BFC 有什么作用 - 可以消除Margin Collaps
2017-08-31 11:48:05
279
原创 支持匿名函数 事件处理对象
let hashHandle = {};var addEvent = (function () { if(window.addEventListener) { return function (ele,type,fn,flag) { ele.addEventListener(type,function () {
2017-08-31 11:32:48
417
原创 双飞翼布局
Title .co { width: 100%; background-color: aqua; float: left; } .main{ margin-left: 200px; } .left {
2017-08-31 11:27:31
285
原创 快排思想 求第(前)k大数
#includeusing namespace std;const int MAX_N = 1e5+10;int vis[MAX_N];int ans;int solve(int l,int r){ int p = vis[l]; while(l<r) { while(l=p) r--; swap(vis[r
2017-07-26 09:39:54
445
转载 cookie 中域的理解
1.domain表示的是cookie所在的域,默认为请求的地址,如网址为www.jb51.net/test/test.aspx,那么domain默认为www.jb51.net。而跨域访问,如域A为t1.test.com,域B为t2.test.com,那么在域A生产一个令域A和域B都能访问的cookie就要将该cookie的domain设置为.test.com;如果要在域A生产一个令域A不能访问而域
2017-07-24 15:23:43
462
原创 快排 qsort
#includeusing namespace std;const int MAX_N = 1e3+10;int vis[MAX_N];int my_qsort(int l,int r){ int temp = vis[l]; while(l < r) { while(l = temp)//由于我们选择的是最左边的数值作为参考,那么相当于他所在的位
2017-07-08 11:45:53
302
原创 操作系统
进程与线程 进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。以前进程既是资源分配也是调度的最小单位,后来为了更合理的使用cpu(实际上是cpu性能越来越好),才将资源分配和调度分开,就有了线程。线程是建立在进程的基础上的一次程序运行单位。 1.单进程单线程:一个人在一个桌子上吃菜 2.单进程多线程:多个人在同一个桌子上一起吃菜 3.多进程单线程:多个人每个人在自己的
2017-07-06 15:39:04
256
原创 codeM 初赛b轮 子串
给出一个正整数n,我们把1..n在k进制下的表示连起来记为s(n,k),例如s(16,16)=123456789ABCDEF10, s(5,2)=11011100101。现在对于给定的n和字符串t,我们想知道是否存在一个k(2 ≤ k ≤ 16),使得t是s(n,k)的子串。 输入描述:第一行一个整数n(1 ≤ n ≤ 50,000)。第二行一个字符串t(长度 ≤ 1,000,000
2017-06-25 20:36:57
418
原创 kmp算法计算模式串的next值
//next数组中的值val有两种情况://1、val=-1;此时意味着主串和子串的下标都需要加1;//2、val={0,1...k-1}中的任意值,k为正在比较的第k个字符,也就是说当他们不相等时,需要回溯到val继续比较;void get_next(char *p,int n) { int i=0,k; k=next[0]=-1;//k表示当前i字符的next值,利用i求i
2016-11-18 19:22:27
2837
转载 HTTP请求返回的数字代表的具体含义
一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务器超时 下面提供 HTTP 状态码的完整列表。点击链接可了解详情。您也可以访问 HTTP 状态码上的 W3C 页获取更多信息。 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码。 100(继续)请求者应当继续提出请
2016-10-21 16:59:52
3598
原创 二分查找,二分上界,二分下界
#include#include#includeusing namespace std;const int masn=1e6+10;int x[masn],y[masn];//区间左闭右开,从0或1开始都可以int binary_sorce(int t,int l,int r) { int mid; while(l<r) { mid=(l+r)>>1;
2016-10-16 20:14:13
594
原创 mysql-5.6.17-winx64.zip安装教程
1.将下载好的mysql-5.6.17-winx64.zip的安装包解压到一个文件夹,比如:E:\Mysql\mysql-5.6.17-winx642.配置环境变量。path值中添加“E:\Mysql\mysql-5.6.17-winx64\bin”3.编写my.ini文件。# For advice on how to change settings please see# ht
2016-10-11 19:28:29
1293
原创 非010串
如果一个01字符串满足不存在010这样的子串,那么称它为非010串。求长度为n的非010串的个数。(对1e9+7取模)Input一个数n,表示长度。(nOutput长度为n的非010串的个数。(对1e9+7取模)Input示例3Output示例7解释:000001011100101110111#include#include
2016-09-30 10:03:59
1154
原创 三角形与圆的相交问题
大体思路:可以将三角形转化成线段与圆相交。那么三角形与圆相交可以分为如下几种情况:第一种情况:三角形的三个顶点都在圆内,此时只需要判断三个顶点到圆心的距离都小于R即可;第二种情况:三角形有至少一个顶点在圆内,那么三角形必然与圆相交;第三种情况:如图3,4所示,三角形一个顶点也没在圆内,那么此时要进行讨论三条线段与圆是否相交;线段与圆相交判断代码:int pan_duan(Poi
2016-09-25 12:28:56
4019
原创 线段与圆是否相交
判断圆和线段是否相交。分两种情况:1、如图1 所示,有至少一个线段的端点落在圆内,这个只要判断点在圆内就好了,端点到圆心的距离小于等于半径 ;2、如图2,3所示, 两个端点都不在圆内,那么看圆心到线段所在直线的垂足是否小于半径且垂足在线段上;我们可以利用余弦定理,避免判断垂足是否在线段上,只要圆心到两端点的角度都为锐角,那么他必然相交;推导过程如下:线段所在直线方程的一
2016-09-25 12:27:58
4927
2
原创 struts2.5+hibernate5.2整合
最近没事,学习了最新的struts2,从网上下载了struts2.5,并且参考了极客学院的视频教学,整合struts+hibernate创建一个管理系统。下面是我使用的版本:
2016-08-28 10:06:43
1039
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人