自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李天下

努力有时候真的无法胜过天赋,但努力能让有天赋的人看得起你

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

原创 substring和substr的区别

两者都是截取字符串。相同点:如果只是写一个参数,两者的作用都一样:都是是截取字符串从当前下标以后直到字符串最后的字符串片段。var str = '123456789';console.log(str.substr(2)); // "3456789"console.log(str.substring(2)) ;// "3456789"不同点:第二个参数substr(star...

2018-10-02 20:52:36 35854 2

原创 JavaScript是一门什么样的语言,它有哪些特点?

js就是面向对象的弱类型语言语言特性:面向对象(要掌握创建对象的多种方式,继承的多种方式、原型链),动态/弱类型语言动态语言的特性var num=10;//num是一个数字类型num="jim";//此时num又变成一个字符串类型//我们把一个变量用来保存不同数据类型的语言称之为一个动态语言,或者说是一个弱类型语言静态语言:c# java c c++//静态语言在声明一个变量就已经...

2018-10-02 16:54:54 4093

原创 js同源策略

同源策略的概念和具体限制同源策略:限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。(来自MDN官方的解释)简单来说就是:一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合具体解释:(1)源包括三个部分:协议、域名、端口(http协议的默认端口是80)。如果有任何一个部分不同,则源不同,...

2018-10-02 16:01:57 959

原创 js闭包

一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量,而函数外部无法读取函数内的局部变量var n=999;  function f1(){    alert(n);  }  f1(); // 999function f1(){ ...

2018-10-02 12:57:16 239

原创 创建对象有几种方法

创建对象有几种方法方式一:字面量和内置构造函数 var obj11 = {name: 'smyh'}; var obj12 = new Object(name: `smyh`); //内置对象(内置的构造函数)上面的两种写法,效果是一样的。因为,第一种写法,obj11会指向Object。第一种写法是:字面量的方式。第二种写法是:内置的构造函数方式二:通过构造...

2018-10-02 08:46:27 1020

原创 call ,apply, bind区别

1.call和apply以及bind相同点:都可以用来改变函数里的this指向,让一个本不属于一个对象的方法,让这个对象去执行2.区别:call(obj,1,2,3,)从第二个参数开始接受一个参数列表,用来代表函数的实参apply(obj,[1,2,3])第二个参开始数接受一个参数数组,数组中的每一个元素对应一个实参bind(obj,1,2,3,)();apply,call是直接执行函...

2018-10-02 08:12:37 186

原创 传统事件绑定和符合W3C标准的事件绑定有什么区别?

传统事件绑定<div onclick=””>123</div>div1.onclick=function(){};<button onmouseover=””></button>1、如果说给同一个元素绑定了两次或者多次相同类型的事件,那么后面的绑定会覆盖前面的绑定2、不支持DOM事件流 (事件捕获阶段 =>目标元素阶段=>事...

2018-09-30 17:03:23 1353

原创 检测数组的4种方法

检测数据类型的方法请看本人的另一篇博客https://blog.csdn.net/xuehangongzi/article/details/82907915下面主要介绍检测数组的(其中有三个方法和检测数据类型相同)1、instanceofinstanceof 方法主要是检测变量的原型链是否指向Array构造函数的prototype原型上。var arr = [4,67,23];arr ...

2018-09-30 16:20:41 4609

原创 js数据类型及检测方法

###一、数据类型检测方法在js中,有四种用于检测数据类型的方式,分别是:typeof  用来检测数据类型的运算符instanceof    检测一个实例是否属于某个类constructor   构造函数Object.prototype.toString.call()  原型链上的Object对象的toString方法下面我们就来分别介绍一下上面四种方法的适用场景和局限性。####1...

2018-09-30 12:05:39 7902

原创 前端系统复习之js运行机制

前言面试时,关于同步和异步,可能会问以下问题:同步和异步的区别是什么?分别举一个同步和异步的例子一个关于 setTimeout 的笔试题前端使用异步的场景哪些?面试时,关于js运行机制,需要注意以下几个问题:如何理解JS的单线程什么是任务队列什么是 EventLoop理解哪些语句会放入异步任务队列理解语句放入异步任务队列的时机JS的异步和单线程...

2018-09-04 22:00:52 427

原创 前端系统复习之浏览器渲染机制

二面的内容:渲染机制JS 运行机制页面性能错误监控本文接下来讲渲染机制。渲染机制包括的内容:什么是DOCTYPE及作用浏览器渲染过程面试经常会问:在浏览器中输入url,发生了哪些事情。其中有一部就是浏览器的渲染过程。Reflow:重排面试官问完了渲染机制,一般会紧接着问重排Reflow,你可千万别说你没听过。Repaint:重绘Layou...

2018-09-04 21:22:31 575

原创 前端系统复习之安全篇

CSRFCSRF的基本概念、缩写、全称攻击原理防御措施如果把攻击原理和防御措施掌握好,基本没什么问题。1、CSRF的基本概念、缩写、全称CSRF(Cross-site request forgery):跨站请求伪造。PS:中文名一定要记住。英文全称,如果记不住也拉倒。2、CSRF的攻击原理用户是网站A的注册用户,且登录进去,于是网站A就给用户下发co...

2018-09-04 20:35:52 245

原创 前端系统复习之通信篇

前言前端通信类的问题,主要包括以下内容:1、什么是同源策略及限制同源策略是一个概念,就一句话。有什么限制,就三句话。能说出来即可。2、前后端如何通信如果你不准备,估计也就只能说出ajax。这个可以考察出知识面。3、如何创建AjaxAjax在前后端通信中经常用到。做业务时,可以借助第三方的库,比如vue框架里的库、jQuery也有封装好的方法。但如果让你用...

2018-09-04 19:39:13 195

原创 前端系统复习之面向对象篇

前言类与实例:类的声明生成实例类与继承:如何实现继承:继承的本质就是原型链继承的几种方式类的定义、实例化类的定义/类的声明方式一:用构造函数模拟类(传统写法) function Animal1() { this.name = 'smyhvae'; //通过this,表明这是一个构造函数 }方式二:用 cl...

2018-09-04 17:50:45 213

原创 前端系统复习之原型链篇

前言面向对象的三大特性封装继承多态原型链的知识原型链是面向对象的基础,是非常重要的部分。有以下几种知识:创建对象有几种方法原型、构造函数、实例、原型链instanceof的原理new 运算符创建对象有几种方法方式一:字面量 var obj11 = {name: 'smyh'}; var obj12 = new ...

2018-09-04 17:27:28 315

原创 前端系统复习之页面布局篇(居中问题,三栏布局,圣杯双飞问题)

一.圣杯看本人的这篇文章 https://blog.csdn.net/xuehangongzi/article/details/80783430 二.居中问题 转载:【基础】这15种CSS居中的方式,你都用过哪几种?简言 CSS居中是前端工程师经常要面对的问题,也是基本技能之一。今天有时间把CSS居中的方案汇编整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种。如有漏掉的...

2018-09-04 11:53:48 587

原创 前端系统复习之DOM事件篇

前言要学习事件的基础内容,请看先本人的这篇基础文章:JavaScript基础:事件对象Event和冒泡知识难度不大,只是大家需要系统地学习。知识点主要包括以下几个方面:基本概念:DOM事件的级别面试不会直接问你,DOM有几个级别。但会在题目中体现:“请用DOM2 ….”。DOM事件模型、DOM事件流面试官如果问你“DOM事件模型”,你不一定知道怎么回事。...

2018-08-29 11:55:37 257

原创 前端系统复习之http协议篇

一面中,如果有笔试,考HTTP协议的可能性较大。前言一面要讲的内容:HTTP协议的主要特点HTTP报文的组成部分HTTP方法get 和 post的区别HTTP状态码什么是持久连接什么是管线化二面要讲的内容;缓存CSRF攻击HTTP协议的主要特点简单快速灵活无连接无状态通常我们要答出以上四个内容。如果实在记不住,一定要记得后面的...

2018-08-23 16:57:38 301

原创 2.Vue练习

刚学完vue的几个指令,现在做个练习练习1如图,要做这样一个效果,当点击按钮的时候,div就变红,再点一下,红色消失第一步、让div上来就是红色<div id="app"> <button>click</button> <div id="div1" :class="{red:isRed}"&a

2018-07-06 19:47:51 1149

原创 1.响应式基本概念

用电脑打开苹果或星巴克的官网,一点点缩小浏览器的窗口,你会发现,窗口虽然变小了,但不影响阅读,这就是响应式1.什么是响应式 这里补充两个概念: * 渐进增强:先对正常的浏览器做适应,也就是让所有浏览器都兼容,然后再对可以设置CSS3等高级属性的高版本浏览器再进行优化,也就是对于高版本的浏览器,让用户体验更好一点 * 优雅降级:先设计高版本浏览器样式,然后在根据低版本浏...

2018-07-05 21:33:25 5107

原创 1.vue的基本概念及常见指令

今天开始学vue,但是不是很懂框架和类库的区别,jQuery是类库,Vue是框架 框架和类库的区别就是,框架里的都是写好的函数方法,直接拿来用就好了,而类库里只有那些类,还得你自己去封装函数才行 相信大家都了解MVC模型吧 但Vue是MVVC模型 Vue是双向绑定页面和数据的 ,当监测到你的页面有变化时,那么数据就会改变了。所以在Vue里面,我们就不用去操作DOM了,但是有兼容...

2018-07-03 21:11:11 446

原创 1.sass安装

sass是css的预处理器,用sass编完c再转成css 所以我们主要学scss 因为sass是ruby语言写的,所以要先安装ruby,到官网下载一个版本,然后在安装的时候要注意勾选第二个,把他添加到路径中去 安装完ruby之后,你就可以安装sass了,打开命令行,win+R → cmd ,然后输入 gem install sass 开始在线安装,因为我刚才把ruby安在了...

2018-07-03 09:28:10 476 1

原创 2.axure条件语句设置

一、条件设置开发中,我们经常要进行判断,还拿登录页面来说,用户输入的情况就有好多种,那么就要进行相应的操作。 那怎么增加条件判断呢 选中按钮,点击单击事件之后,在用例说明的右侧点击新增条件,就会弹出一个条件设置框,设置好条件后,点确定,再继续完成点击事件的设置 如果一次判断不能满足要求,需要在第一次判断的基础上再判断,也就是else语句。怎么表示呢,只需要点新增用例,条件就会自动...

2018-07-01 11:46:47 7571 2

原创 this指向及改变this指向的方法

原先总结过this指向问题,但看了大佬们写的之后,觉得自己遗漏了很多点,所以,结合大佬们的,重写一遍一、函数的调用方式决定了 this 的指向不同:普通函数调用,此时 this 指向 window function fn() { console.log(this); // window } fn(); // window.fn...

2018-06-28 11:57:02 54621 8

原创 常用的几个Markdown语法

1. 标题标题是每篇文章都需要也是最常用的格式,在 Markdown 中,如果一段文字被定义为标题,只要在这段文字前加 # 号即可。一级标题 就是在标题前加一个井号二级标题 就是在标题前加2个井号以此类推,总共六级标题,建议在井号后加一个空格,这是最标准的 Markdown 语法。2.列表无序列表的显示只需要在文字前加上 - 或 * 即可变为无序列表,有序列...

2018-06-25 11:45:23 154

原创 和一群逗逼相处久了会怎样?

实验室的日常(互懑)黄:走,雪,跟我去把书送你老弟那7我:不去,太累了,你自己去呗黄:你说你那么胖,今天晚上还吃那么多,一盘饭没吃饱还加一碗饭柱和明在一旁偷笑我:那碗饭一大半都是你吃的好不?黄:那是谁吃着自己的饭还抢我的羊肉泡馍我:。。。。。一小时后,,,,因为学校明天要检查,所以我们就一起收拾东西, 苏专门拿了行李箱装东西,最后我们每个人都大包小裹的,他们四个...

2018-06-25 10:20:28 133

原创 1.API 是 啥?

程序员对API肯定不陌生,但刚入行的小白并不了解,网上一搜,你就会搜到好多高大上的解释,but,咱能不能用平白的话解释清楚呢,我的理解就是抄作业,抄作业虽然是老师们反对的,但是如果我们能理解的去抄,而不是不经思考的抄,那么学习效率将会事半功倍。用API就像一个学渣,啥也不会,你不让他抄,他几天也写不完,如果你把大佬的作业借给他,然后他在抄的过程中又添加了自己的思考和见解,那么就会收获很大API...

2018-06-25 10:10:40 580

原创 前端系统复习之事件委托

1.概念事件委托也叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。 用一个形象的例子说明: 有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会...

2018-06-24 19:16:46 199

原创 flex布局和传统布局有什么区别?

传统布局,基于盒模型,依赖 display属性 、position属性 、float属性它对于那些特殊布局非常不方便,比如垂直居中2009年,W3C 提出了一种新的方案—-Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。一、Flex 布局是什么Flex 是 Flexible Bo...

2018-06-23 17:14:10 21699 1

原创 rem和其他单位之间的区别

px|pt|em|rem区别(1)px单位px(像素),国内网站相对来说用得比较多,任意浏览器的默认字体高都是16px。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。IE无法调整那些使用px作为单位的字体大小,国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;;(2)pt单位pt是point,是印刷行业常用单位,等于1/72英寸。(...

2018-06-23 15:00:51 517

原创 圣杯布局 和 双飞燕布局

圣杯布局和双飞翼布局基本上是一样的,都是两边固定宽度,中间自适应的三栏布局,其中,中间栏放到文档流前面,保证先行渲染。解决方案大体相同,都是三栏全部float:left浮动,区别在于解决中间栏div的内容不被遮挡上,圣杯布局是中间栏在添加相对定位,并配合left和right属性,效果上表现为三栏是单独分开的(如果可以看到空隙的话),而双飞翼布局是在中间栏的div中嵌套一个div,内容写在嵌套的di...

2018-06-23 14:35:17 2235 1

原创 BFC

1.BFC的概念BFC(Block Formatting Context):块级格式化上下文。你可以把它理解成一个独立的区域。另外还有个概念叫IFC。不过,BFC问得更多。2.BFC 的原理/BFC的布局规则【非常重要】BFC 的原理,其实也就是 BFC 的渲染规则(能说出以下四点就够了)。包括:(1)BFC 内部的子元素,在垂直方向,边距会发生重叠。(2)BFC在页面...

2018-06-16 16:55:16 906

原创 前端系统复习之CSS盒模型

一、题目:谈一谈你对CSS盒模型的认识专业的面试,一定会问 CSS 盒模型。对于这个题目,我们要回答一下几个方面:(1)基本概念:content、padding、margin。(2)标准盒模型、IE盒模型的区别。不要漏说了IE盒模型,通过这个问题,可以筛选一部分人。(3)CSS如何设置这两种模型(即:如何设置某个盒子为其中一个模型)?如果回答了上面的第二条,还会继续...

2018-06-16 16:45:48 774

原创 页面布局

一、问题:假设高度默认100px ,请写出三栏布局,其中左栏、右栏各为300px,中间自适应。(1)方法1、浮动:左侧设置左浮动,右侧设置右浮动即可,中间会自动地自适应。<!DOCTYPE html><html lang="en&

2018-06-15 17:18:31 245

转载 hibernate配置文件之自动创建表

对Java而言要识别两个对象是否为同一对象有两种方式 1.内存地址识别(“==”号识别)。 2.根据equals()、hashCode()中的定义识别。 在hibernate中,如果在同一session中根据相同查询所得到的相同记录,则它们会有相同的内存地址。但是如果是不同的session中查询的相同记录,它们的内存地址就会不同。因此,使用“==”来比较两条记录是否代表数据库中的同一记录...

2018-06-12 19:08:44 208

转载 通过ThreadLocal维护线程

为什么使用TreadLocal来实现? 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 具体实现如下: 创建com.util.HibernateUtil.java package com.util;import org.hibernate.Sessi...

2018-06-12 19:06:29 188

转载 单例模式的Session

getCurrentSession()获得的session的好处。 (1)currentSession和当前线程绑定。 (2)currentSession在事务提交后自动关闭。 需要在 hibernate.cfg.xml 中添加的配置 thread 创建类 HibernateUtil.java实现单例模式的SessionFactory。 package com.util;imp...

2018-06-12 19:01:35 1114

转载 HQL实现简单的增删改查

HQL(Hibernate Query Language)是完全面对对象的查询语句,查询功能强大,具备继承、多态和关联等特性。 Query是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程,Query包装了一个HQL语句。 hibernate5中 org.hibernate.Query 被 org.hibernate.query.Query 替代。 创建dao层接口...

2018-06-12 18:59:07 1343

原创 ES6之let的特性

今天学ES6,所谓ES6,就是ECMAScript 6ECMA是一个制定规范的组织,开发javascript的网景公司将javaScript交给ECMA制定规范,从此以后,javaSCript的功能就按照这个规范实现那么我们以前学的js都是用var定义,ES6改成了用let,他俩有啥区别呢一、Let 没有变量提升1.啥叫变量提升?我们知道变量如果没定义就输出...

2018-06-12 07:27:39 3057 2

原创 变量提升

1.啥叫变量提升?我们知道变量如果没定义就输出的话,就会报错not defined如果是在定义语句的上面调用的话,就会输出undefined,为啥嘞?这种情况就叫做变量提升,在定义语句上面调用变量的话,会假设在调用语句上面加了一句定义而未赋值的语句当然我们知道,如果定义一个变量但没给他赋值的话,就会得到undefined,so,变量提升的结果就是undefi...

2018-06-11 21:28:19 2513

空空如也

空空如也

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

TA关注的人

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