自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

转载 判断JavaScript对象为null或者属性为空

最终参考文章:https://juejin.im/post/5aba32d9f265da239e4e1b6c空值 (null):var isNull = function (obj) { return obj === null;};未定义 (undefined)方法1(极力推荐)var isUndefined = function (obj) { return obj ...

2017-07-28 21:22:15 26222 1

原创 js基础-继承

继承其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。首先了解下原型链了解原型链之前先知道,每个实例对象(object)都有一个私有属性(称之为__proto__)指向它的原型对象(prototype),该原型对象也有一个自己的原型对象(为__proto__) ,层层向上直到一个对象的原型对象为 null分析如下:构造函数(Super) 有一个原型对象 prototype,Super的原型对象prototype 包含一个指向构造函数的指针,Super的实例(new Supe

2020-07-02 15:11:32 130

原创 js基础-事件处理程序

本文旨在简单梳理事件处理程序的几种方式~~~js事件处理程序的几种方式参考:[http://wiki.jikexueyuan.com/project/brief-talk-js/event-handlers.html]HTML 事件处理程序js 指定事件处理程序DOM0级事件处理程序DOM2级事件处理程序IE 事件处理程序HTML 事件处理程序两个缺点:存在时差问题html 和 js 代码紧密结合js 指定事件处理程序DOM0级以这种方式添加的事件处理程序

2020-07-02 15:10:39 138

原创 js基础-声明提升

声明提升概念:变量和函数的声明会在物理层面移动到代码的最前面,但这么说也并不准确。实际上变量和函数在代码里的位置是不会变的,而是在编译阶段被放入内存中。常见的示例如下:var x = 1; // 声明 + 初始化 xconsole.log(x + " " + y); // '1 undefined'var y = 2; // 声明 + 初始化 y//上面的代码和下面的代码是一样的 var x = 1;

2020-07-02 15:09:31 174

原创 js基础-this机制

this 机制绑定规则默认绑定隐式绑定显示绑定new绑定默认绑定独立函数调用function foo() { console.log( this.a );}var a = 2foo() // 2本例中,函数调用时应用了this的默认绑定,因此this指向全局对象在代码里,foo() 是直接使用不带任何修饰的函数引用进行调用的,因此只能使用默认绑定,无法应用其他规则注意: 如果使用严格模式(strict mode),那么全局对象将无法使用默认绑定,因此this会

2020-07-02 15:08:22 108

原创 js基础-判断js数据类型的方法

首先了解一下js的数据类型:查阅了MDN文档 最新的 ECMAScript 标准定义了7种数据类型:6种原始类型booleanNullUndefinedNumberStringSymbol和 Object (Regexp,Function,Array,Date 。。。)typeoftypeof 判断一个变量的类型可以得到这几种结果:Number、 String、 Boolean、 Function、 Object、 Undefined、 Symbol例如:使用type

2020-07-02 15:07:27 128

原创 js基础-常用的高阶函数

forEach遍历数组中的每一项,为每个元素调用制定的函数是es5 的方法 (IE9 以下不可用)可替代 for 循环,但是 forEach 不能中断循环(不能使用break 或者 return 语句)这里简单提一下 for in 和 for offor of 是es6方法 可以代替 forEach方法let obj1 = ['judy', 'nick']for (let key in obj1) { console.log(key) // 0 1}let obj =

2020-07-02 15:06:17 103

原创 事件循环相关题目

代码一async function async1(){ console.log('async1 start') await async2() console.log('async1 end')}async function async2(){ console.log('async2')}console.log('script start')setTi...

2019-12-24 21:19:11 594

转载 js中两次取反(!!)的意义

其实就是将目标对象转变成对应的boolean类型而已。取反操作“!”会得到与目标对象代表的布尔型值相反的布尔值,而再做一次取反就得到了与其相同的布尔值。也就是说,对一个对象xx,执行Boolean(xx)和!!xx是一样的,只是编程技巧而已双感叹号才能真正的将他转换成对应的Boolean值,第一个感叹号是将其转化成Boolean类型的值,但是这一操作得到的是其取反以后的值,在进行一次取反运算才...

2019-01-15 14:51:23 5425

原创 数组遍历

数组遍历使用for循环是数组遍历最常见的方法var keys = Object.keys[o] // 获得o对象属性名组成的数组var values = []for (var i =0; i < keys.length; i++) { var key = keys[i] values[i] = o[key]}for (var i = 0, len = keys...

2018-11-15 20:11:37 809

转载 js 浮点数计算精度问题

/** * 校验是否为数字 * @param arg * @return */function checkIsNumber(arg){ if(arg != null && arg.toString() != ""){ var re = /^-?(0|[1-9]+\d*|[1-9]+\d*\.\d+|0\.\d+)$/; if(re.test...

2018-11-14 16:19:59 273

原创 RESTful api

REST表述性状态转移,是一个教授提出的一种软件架构风格表述性状态转移是一组架构约束条件和原则注意:REST是风格不是标准 1,资源与URIURI设计上的一些技巧使用_或者-来让URI可读性更好 使用/来表示资源的层级关系 使用?来过滤资源 ,或者;可以表示同级资源的关系 2,统一资源接口POST和PUT在创建资源的区别在于,所创建的资源的名称(URI)是否...

2018-11-13 20:12:05 461

转载 移动端滚动穿透问题解决办法

本文转自:https://uedsky.com/2016-06/mobile-modal-scroll/问题众所周知,移动端当有 fixed 遮罩背景和弹出层时,在屏幕上滑动能够滑动背景下面的内容,这就是臭名昭著的滚动穿透问题方案1:css 之 overflow: hidden.modal-open { &, body { overflow: hidden;...

2018-11-05 10:43:42 198

原创 垂直外边距合并问题

别被上面这个名词给吓倒了,简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。你可以查看W3Shool CSS外边距合并了解这个基本知识。实际工作中,垂直外边距合并问题常见于第一个子元素的margin-top会顶开父元素与父元素相邻元素的间距,而且只在标准浏览器下(FirfFox、Chrome、Opera、Sa...

2018-07-30 11:36:34 784

原创 css使用技巧相关

1)在css里面分别用样式控制h5{ font-size:18px;}  h4{font-size:16px;}  h3{font-size:14px;}  h2{font-size:12px;}  h1{font-size:25px;} 2)用Margin还是用Padding何时应当使用margin:需要在border外侧添加空白时。空白处不需要背景(色)时。上下...

2018-07-30 11:21:01 119

原创 css字体单位

了解:首先先了解四个字体单位:px  em  pt  rempx:单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言的,国内推荐;em:单位名称为相对长度单位。相对于当前对象内文本的字体尺寸,国外使用比较多;pt:全称为point,但中文不叫“点”,确切的说法是一个专用的印刷单位“磅”,大小为1/72英寸。所以它是一个自然界标准的长度单位,也称为“绝对长度”。...

2018-07-30 11:02:56 754

原创 前端性能优化相关

前端优化1.减少http请求2.利用CDN技术  (服务器提供商的这项服务一把是要收费的)3.设置头文件过期或者静态缓存  (这项可以通过修改.htaccess文件来实现。)4.Gzip压缩5.把css放顶部6.把js放底部7.避免CSS Expressions8.将JS和CSS外链9.减少DNS查找10.减小JS和CSS的体积11.避免重定向1...

2018-07-30 11:01:18 118

原创 IE兼容问题

ie兼容问题1.块状元素浮动产生双倍bug问题(display:inline)2.最小高度 ie6下盒子的最低高度是20 小于20 overflow:hidden(见浏览器兼容最小高度)3.图片和背景半透明 (背景透明:filter:alpha(opacity=55);)4.img行内块元素下的留白(display:block)5.span换行问题 (1.交换位置 2.加左右浮...

2018-07-30 10:59:15 1067

原创 String

charAt()  可返回指定位置的字符concat() 用于连接两个或多个字符串indexOf() 返回某个指定字符串值在字符串中首次出现的位置lastIndexOf() 从后向前检索字符串match() 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配replace() 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串search() 检索与正则表达式相匹配的...

2018-04-20 19:26:09 116

原创 学习javaScript数据结构与算法

数组创建数组var members = [0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, 10]添加元素向数组末尾添加:members.push(11)向数组开头添加:members.unshift(-1)删除元素从数组末尾删除:members.pop()从数组开头删除:members.shift()tips:通过push 和 pop,就能用数组来...

2018-04-09 12:06:13 307

原创 js实现排序算法的归纳

排序算法中最快的是快速排序算法,搜索算法中最快的是二分搜索算法。快排具体算法描述: 三步走(1)在数据集之中,选择一个元素作为"基准"(pivot)。(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。(3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。实现:var quic...

2018-04-02 16:25:33 232 1

原创 Object.defineProperty

意思是:给对象定义属性给对象定义属性的方式有以下几种let newobj = {}1) newobj.name = "judy"2) newobj["name"] = "judy"3) Object.defineProperty(newobj, "name", {    value: "judy"})...

2018-03-25 17:34:08 105

原创 元素居中方案

已知元素宽高 和未知元素宽高写法1(垂直水平居中).container { position:abosolute; top:50%; left:50%; margin-left:-包含块宽度的一半; margin-top: -包含块高度的一半;}写法2(一个块状元素水平居中).container { width: 300px; margin: 0 a...

2018-03-14 17:50:36 162

原创 学习vue

了解概念:渐进式框架: 自由,主张最少自底向上增量开发的设计:由简单到繁琐的过程js表达式:表达式是由运算符构成,并运算产生结构的语法结构。每个表达式都会产生一个值,可以放在任何需要一个值的地方for 循环的key值的主要作用是为了高效的更新虚拟DOMjsx: 类XML语言,是javascript的语法扩展,全称是JavaScript XMLbower: twitter推出

2017-12-19 10:41:46 160

原创 面试重点

一、兼容性处理-css1, 双间距bug float引起的   display:inline;2, 高度小于十像素容器的问题 ie6最小高度的问题限制  font-size:03, ie6不能定义1px高度的容器  是ie6默认行高造成的  解决 over:hidden,zoom:0.08 line-height:1px4, ie6 png24透明图片问题  js解决5, select 层级过高 ...

2017-10-23 11:37:11 184

原创 js 监听滚动事件

1) window.onscroll = function() {}2) document.addEventListener("onscroll", function (e) {})

2017-10-16 19:42:34 15443

转载 git相关命令

git1) 远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add [name] [url]删除远程仓库:$ git remote rm [name]修改远程仓库:$ git remote set-url --push

2017-10-16 19:31:29 157

转载 javascript停止冒泡和阻止浏览器默认行为

当需要使用冒泡行为时:function stopBubble(e) { //如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation ) //因此它支持W3C的stopPropagation()方法 e.stopPropagation(); else //否则,我们需要使用IE的方式来取消事件冒泡 wind

2017-10-13 19:22:38 171

转载 git 默认对文件名大小写不敏感 (不区分文件名大小写)

git 默认对文件名大小写不敏感 (不区分文件名大小写)git 默认不区分文件名大小写当你创建一个文件后,叫 readme.md 写入内容后 提交到线上代码仓库.然后你在本地修改文件名为 Readme.md 接着你去提交,发现代码没有变化.git status无任何提示信息.其实 git 默认对于文件名大小写是不敏感的,所以上面你修改了首字母大写,但是git 并

2017-08-18 10:30:01 1482

原创 浏览器引擎

五大呈现引擎: IE、 Gecko、 Webkit、 KHTML、 Opera代表浏览器有:IE: ieGecko:FirefoxWebkit: Safari、ChromeKHTML: Konqueror(只能在linux中使用)Opera: Opera

2017-07-15 23:47:33 252

原创 js取随机数

主角:Math对象方法:random()Math.random() 方法返回大于等于0小于1的一个随机数套用下面的公式,就可以利用Math.random() 从某个整数范围内随机选择一个值公式:值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)例如: var num = Math.floor(Math.random() * 10 + 1)       ...

2017-07-15 22:35:59 453

转载 pc和移动端默认样式重置

首先说一下,为何要用重置样式除了省心之外,还有两个好处1.方便设计师/程序员发挥白纸的感觉确实好。各种margin,padding,border的为0。。。2.便于发现前端代码的遗漏用了reset后,如果“blockquote、ol、ul、hn等语义元素在没有赋以其他合理的样式”,会非常扎眼(任何人都看得出来),开发者第一反应会是“卧槽忘了写”并迅速补救。并迅速补救。但如果没reset,浏览器会提...

2017-07-14 16:59:16 2906

原创 Http中各状态码的意义

200:   访问成功302 :(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出304:未修改 如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码。简单的

2017-07-13 16:32:15 347

原创 nuxt中vuex的使用

巧妙地使用内置vuex中的 nuxtServerInit 这个API,这个API实在nuxt程序实例化之后第一次执行的方法其内部返回一个 promise ,我们可以在这里完成我们站内的所有子组件异步请求,随后将数据映射至对应子组件即可

2017-07-06 20:39:53 7249

原创 学习其它网站的布局

三栏布局 第一种:.search-list .page-container>li .d .d-main{display:-webkit-box;margin-top:-1px;height:20px;overflow:hidden;}.search-list .page-container>li .d .d-main p{font-size:12px;overflow:hidd

2017-07-03 17:27:35 195

原创 两栏布局(左定宽&左不定宽)

第一种:左定宽,右自适应布局1.浮动布局<div id="left">Left sidebar</div><div id="content">Main Content</div>* { margin: 0; padding: 0; } #left { float: left; width: 200px; ...

2017-07-03 16:58:57 296

原创 css 布局总结

先贴两篇文章:http://snailsky.me/2014/08/21/css%E5%B8%83%E5%B1%80%E6%80%BB%E7%BB%93%E4%B8%8E%E5%AE%9E%E8%B7%B5/http://zh.learnlayout.com/flexbox.html其中关于垂直居中的两种不同写法:第一种:.vertical-container {

2017-07-03 16:41:47 169

原创 理解display:box 和 display:flex

参考学习:http://www.zhangxinxu.com/wordpress/2010/12/css-box-flex%E5%B1%9E%E6%80%A7%EF%BC%8C%E7%84%B6%E5%90%8E%E5%BC%B9%E6%80%A7%E7%9B%92%E5%AD%90%E6%A8%A1%E5%9E%8B%E7%AE%80%E4%BB%8B/ (box-flex属性和谐版 & 不和谐

2017-07-03 15:36:55 503

原创 关于axios

在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource。尤大原话:https://github.com/vuefe/vuefe.github.io/issues/186目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求,下面来具体介绍一下axios的使

2017-07-02 19:56:08 583

原创 前端大牛对学习前端的建议

vue的作者 尤雨溪 :对于学习上的建议,一个是学好英文,这样可以主动地吸收国外前端社区的最新动态,接触最前沿的理念,遇到问题搜索起来也更容易找到解决方案,甚至可以直接去看规范。另一个就是善用 GitHub,多看别人的代码,这和多看书才能写出好文章是一个道理。对感兴趣的技术,自己动手摸索着造个简陋的轮子,就会明白难点在哪里,也会更容易理解别人的源码为什么要这样写。

2017-06-30 20:16:26 642

空空如也

空空如也

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

TA关注的人

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