- 博客(115)
- 资源 (1)
- 收藏
- 关注
原创 数据库基础知识--数据库知识的一些小总结
数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以提供各种用户分享,具有最小冗余度和较高的数据独立性。一、数据模型 根据模型应用目的的不同,数据模型分为两类,第一类是概念模型,第二类是逻辑模型和物理模型。 概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。 逻辑模型主要包括层次模型,网状模型,关系模型,面向对象
2017-10-08 10:23:46 1649
原创 用JavaScript实现十大经典排序算法--快速排序
快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。1)算法原理 快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。2)算法描述 快速排序使用分治法来把一个串(list)分为两个子串(su
2017-09-13 22:08:05 1315
原创 【css3】CSS3动画(animation @keyframes)
通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。在讲解利用@keyframes做动画之前,我们先来看一个例子,即在一定时间内,将正方形进行移动,效果如下: 这里先附上代码,后面再来解释: div { width:100px;
2017-09-13 16:26:18 3718
原创 javaScript中var、let、const的区别
在javascript中有三种声明变量的方式:var、let、const。1、var 之前我们在写js代码的时候都知道可以用var定义全局变量和局部变量,也可以省略var,而且在非严格模式下不会报错,但是实际上在严格模式下,两者的使用有没有区别,可能很多人不清楚。var x = 1; y = 2; console.log(x);//1 console.log
2017-08-24 15:43:29 8106
转载 null == undefined ?
转载自:作者:一像素www.cnblogs.com/onepixel/p/7337248.html最近在看《JavaScript高级程序设计》一书,书中讲到相等操作符(==)时说,要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,但要记住 null == undefined 会返回 true 。的确,在ECMAScript
2017-08-18 17:47:56 35364
原创 用Java编写基础小程序&&经典案例
1、输出两个int数中的最大值2、输出三个int数中的最大值3、编写程序判断某一个年份是否是闰年4、完成成绩等级输出程序5、完成命令解析程序6、完成收银柜台收款程序7、java从键盘输入三个整数,实现从小到大排序8、计算个人所得税9、输入年份和月份,输出天数10、直接输出九九乘法表
2017-08-18 11:47:27 82282 9
原创 理解CSS clear:both/left/right的含义以及应用
前言: 感觉是刚过春招,又要开始秋招,对于技术渣渣、学历普通的我,忧愁再次降临。开始准备秋招路途中……来温故而知新,沉下心好好学习。貌似本人在清除浮动中第一次接触clear:left/right,平时只用到clear:both,好像也只见到这个,这就尴尬了。一、什么是浮动,标准文档流又是个啥 所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从
2017-08-05 15:20:46 12958 7
原创 基于bootstrap的datetimepicker插件总结
需求分析:领导要求需要做一个比较简单的表单,主要内容包括姓名、联系方式、出发时间、出发地点等,要求出发时间和出发地点可以自己选择,固定格式。 问题:没写过时间控件,不知道怎么写,时间涉及到的属性那么多,包括年份、月、日、小时、分等,怎么获取与设置,等。 解决方法:在网上搜索了很多资料,由于项目中用到了Bootstrap,于是决定用基于bootstrap的dateti...
2017-07-31 21:18:45 36110 3
原创 【前端面试】HTML5+CSS3初级面试4
1、前端页面由哪三层构成,分别是什么?作用是什么? 网页分成三个层次,即:结构层、表示层、行为层。 网页的结构层(structural layer)由 HTML 或 XHTML 之类的标记语言负责创建。标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P 标签表达了这样一种语义:“这是一个文本段。”
2017-07-18 20:13:37 2098
原创 【Latex】如何在eclipse中配置Latex
众所周知,大家在写论文的时候,经常被要求需要套用一些模板,这些模板利用Latex工具进行编写会更美观,目前Latex的编辑工具也是非常多,比如ctex,WinEdit,Texlive等,但是我个人觉得这些工具都不是很好用,我觉得利用eclipse这个编辑工具用起来会更方便,只需要编辑完直接保存便自动编译完成。 至于为什么要使用Latex,大家可以自行去网上搜,这里罗列了几个:
2017-06-27 20:47:36 1919
原创 【jQuery】用jQuery实现定位滚动导航效果
在平时写官网代码的过程中,我们经常可以碰到这样的一个情况:在顶部有一个总的导航,然后接下来会有一个banner,在banner的下面会有一个二级导航,二级导航的每个页面都有一定的内容,为了显示更友好,此时我们会在滚动的时候,让二级导航固定在顶部,然后会根据滚动的位置,将导航条的内容相应的改变,那么用jQuery如何实现这个效果呢? 我写了一个简单的页面来完成这个效果,现在先来看看效果。
2017-06-26 20:42:22 5727 1
原创 【Bootstrap】表格的CSS布局
表格在开发中经常会用到,尤其是在展示数据的时候,一个美观的表格设计非常重要。Bootstrap提供了表格组件,其中包括1种基础.table样式,4种附加样式(.table-striped,.table-bordered,.table-hover,.table-condensed)以及一个支持响应式布局的.table-responsive容器样式。需要注意的是每种样式都是在.table样...
2017-06-14 15:53:30 6795
原创 【Bootstrap】响应式原理和设计
响应式网页设计最初是由 Ethan Marcotte 提出的一个概念:为什么一定要为每个用户群各自打造一套设计和开发方案?Web设计应该做到根据不同设备环境自动响应及调整。当然响应式Web设计不仅仅是关于屏幕分辨率自适应以及自动缩放的图片等等,它更像是一种对于设计的全新思维模式;我们应当向下兼容、移动优先。 响应式网站设计(Responsive Web design)的理念是:页
2017-06-09 14:35:24 2841
原创 【JavaScript设计模式】行为型设计模式--发布-订阅模式
发布-订阅者模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。那具体的含义,就是有订阅者和发布者,两者的功能,订阅是请求在某些事件(event)到达时可以通知它并执行对应的动作(action),而发布则相对的是向订阅告知事件(event)已经到达,你可以执行对应的动作(action)了。 举一个现实中的例子。我们在现实
2017-06-01 17:01:22 485
原创 【JavaScript设计模式】行为型设计模式--职责链模式
职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 也就是说,请求以后,从第一个对象开始,链中收到请求的对象要么亲自处理它,要么转发给链中的下一个候选者。提交请求的对象并不明确知道哪一个对象将会处理它——也就是该请求有一个隐式的接受者(implicit receiver)
2017-05-24 22:44:04 464
原创 【JavaScript设计模式】行为型设计模式--模板方法模式
模板方法模式是一种只需要使用继承就可以实现的非常简单的模式。模板方法模式是由两部分组成,第一部分是抽象类,第二部分是具体的实现子类。通常在抽象父类中封装了子类的算法框架,其中主要是包括一些公共的方法以及封装所有子类中所有方法的执行顺序。那子类通过继承这个抽象类,也就是继承了整个算法结构,并且可以选择重写父类的方法。 在模板方法模式中,还引入了另外一个设计原则--“好莱坞原则”。为了说
2017-05-22 16:17:52 370
原创 【JavaScript设计模式】行为型设计模式--策略模式
俗话说“条条大路通罗马”。在现实中,很多时候也有多种途径可以到达同一个目的地,比如,我们要去某个地方旅游,可以根据具体的实际情况来选择出行的线路。在程序设计中,我们也常常遇到类似的情况,要实现某一个功能有多种方案可以选择。比如要对一个数组进行排序,我们可以选择快速排序算法,也可以选择冒泡排序算法。 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会
2017-05-22 09:52:18 425
原创 【JavaScript设计模式】创建型设计模式--建造者模式
建造者模式:可以将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。也就是说如果我们用了建造者模式,那么用户就需要指定需要建造的类型就可以得到他们,而具体建造的过程和细节就不需要知道了。建造者模式实际,就是一个指挥者,一个建造者,一个使用指挥者调用具体建造的工作得出结果的客户。1、建造者模式四要素 1)产品类Product:一般是一个较为复杂的对象,也就是说创
2017-05-18 09:11:22 555
原创 【JavaScript设计模式】创建型设计模式--简单工厂、工厂方法、抽象工厂
既然标题中提到了创建型设计模式,那就先来解释一下什么叫创建型设计模式?创建型设计模式是一类处理对象创建的设计模式,通过某种方式控制对象的创建来避免基本对象创建时可能导致设计上的问题或增加设计上的复杂度。--引自张荣铭的【JavaScript设计模式】 在一篇博客中,博主为了写工厂模式,在文章开始进行了一个简答的问题陈述,下面我将这段话也写进来: 原文“想象一个场景:如果
2017-05-17 17:05:36 918
原创 JavaScript中的深复制和浅复制
在谈javascript的浅复制和深复制之前,我们先来看看js的数据类型:有Number,Boolean,String,Null,Undefined,Object五种类型。而Object又包含Function,Array和Object自身。前面的五种类型叫做基本类型,而Object是引用类型。之所以要先了解 这几种数据类型,是因为JS 中的浅拷贝与深拷贝,其实只是针对复杂数据类型(Object
2017-05-06 11:28:05 791
原创 JavaScript同步、异步、回调执行顺序分析
之所以会写这篇文章,是因为在做笔试题的时候,会遇到一题很经典的题目,关于setTimeout的输出结果,下面我们先来看一道题目:for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 1000);}console.log(i); 我相信只要是做过前端笔试题
2017-05-04 10:11:09 17145 4
原创 【JavaScript】找出数组中两数之和为指定值的所有整数对
笔试的时候刚好做到这道题:定一个整型数组(数组中的元素可重复,已排序),以及一个指定的值。找出数组中两数之和为指定值的所有整数对,要求时间复杂度为O(N)。 首先来分析一下这个题,假设题目没有说已排序和时间复杂度的要求,那么用最暴力的方法就是直接遍历两次数组,时间复杂度为O(N*N)。这里也来实现一下,代码如下:/*暴力法,直接遍历两次数组,时间复杂度为O(n*n)*/funct
2017-04-19 17:00:56 5773
原创 vue.js开发环境搭建以及脚手架工具安装
1、安装node.js 因为我在此之前,我为了能够在sublime text3中直接输出js的代码,所以已经安装过node.js,这里就不做详细的分析,如果有需要,直接去百度一下就知道如何安装node.js。2、基于node.js,利用淘宝npm镜像安装相关依赖 我们通过快捷键window+R,输入cmd即可以进入命令行窗口。接着在命令行中输入:npm insta
2017-04-16 11:43:50 7874
原创 JavaScript中typeof和instanceof的区别
1、typeof typeof 是一个操作符,主要的目的是检测一个变量是不是基本数据类型的变量,同时也可以说是确定一个变量是字符串,数值,布尔值,还是undefined等的最佳工具。 对一个值使用typeof操作符可能返回下列某种字符串:“underfined”--如果这个值未定义“boolean”--如果这个值是布尔值,即true或者false“string
2017-04-12 09:15:51 581
原创 JavaScript中JSON.stringify()与JSON.parse()
在开始介绍本文要介绍的两个方法之前,我们先来看一下什么是JSON对象。一、JSON对象 1、什么是json? JSON(JavaScript Object Notation)javscript对象标记,是一种轻量级的数据交换格式。简单来说,json就是用JavaScript语法写的一个特殊的标记字符串。 2、json的作用 (1)简化用JavaScript定
2017-04-08 09:32:54 1409
原创 【js实现】在排序数组中,找出给定数字的出现次数,比如 [1, 2, 2, 2, 3] 中2的出现次数是3次
今天做笔试题的时候做到了这题,当时由于时间 太短,而且因为没有处理好JavaScript中整数的关系,导致结果没有运行出来。所以在结束之后,在网上搜了资料,发现都是用C语言或者C++,java实现的,没有用JavaScript实现的,于是我又重新做了这道题。思路分析:1、首先这个数组是有序的,所以我们只要能够找到这个给定的数字在这个数组中出现的第一个位置和最后一个位置就可以得到一共
2017-04-02 22:11:15 5496
原创 IntelliJ IDEA 2017.01配置jdk和tomcat
之前开发Web项目都是用myeclipse或者eclipse,最近想用IDEA这个编辑器去配置一个Web项目,因为是新手,加上对界面的操作不熟练,所以在配置的过程中遇到了一些难题。最后配置成功,并且可以运行一个Web项目,自己也想总结记录下配置的过程。 首先是软件的下载,我下载了最新的版本,下载地址:https://www.jetbrains.com/idea/whatsnew/#v
2017-04-02 11:30:31 47274 3
原创 JavaScript之call() 、apply() 、bind()函数
在看一段代码的时候,遇到了bind()函数,当时看到的时候有点懵了,不是特别理解这个函数的使用以及作用,于是查找了一些资料之后,终于明白了一些,在查资料的过程中,看到将这个函数与call()和apply()函数对比的文章还不少,于是我想补充并整理一下这三个方法的使用。 我们可以看到call ()和 apply()的定义说明:call()和apply() 是函数的非继承方法,在某个特定
2017-03-10 12:49:06 626
原创 jQuery模板插件--jQuery tmpl初识
动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等。 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在浏览器端拼数据就在服务器端拼数据。不过,从传输量方面来看,返回 HTML 不划算,而在 web 传输方面,现在更多的是使用 JSON 而不是 XML。浏览器端根据 JSON 生成 HT
2017-03-09 20:24:44 800
原创 JavaScript之事件委托
由于事件处理程序可以为现代Web应用程序提供交互能提供交互能力,因此许多开发人员会部分青红皂白地向页面中添加 大量的处理程序。当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的父节点而将事件委托给父节点来触发处理函数。但是,如果添加到页面上的事件处理程序数量一大会影响到页面的整体运行性能。原因在于:每个函数都是对象,都会占用内存,内存中的对象越多,性能就会越差;必须事先指定
2017-03-09 11:15:56 380
原创 JavaScript之扩展、密封以及冻结对象
JavaScript共享的本质一直是开发人员心头的痛。因为任何对象都可以被在同一环境中运行的代码修改。ECMAScript致力于解决这个问题,可以让开发人员定义防篡改对象。1、不可扩展对象 默认情况下,所有对象都是可以扩展的。也就是说,任何时候都可以向对象中添加属性和方法,即如果一个对象可以添加新的属性,则这个对象是可扩展的。让这个对象变的不可扩展,也就是不能再有新的属性。
2017-03-06 10:44:02 1042
原创 JavaScript 事件处理程序
事件就是用户或者浏览器自身执行的某种动作。比如click、mouse等,都是事件的名字。而响应某个事件的函数就叫做事件处理程序或者事件监听器。事件处理程序的名字一般是以“on”开头,比如click事件的事件处理程序就是onclick,mouse事件的事件处理程序就是onmouse。那么,我们在给事件指定处理程序的时候,可以采用好几种的方式。1、HTML事件处理程序 只要是元素可以
2017-03-05 15:52:56 553
原创 JavaScript中的继承以及实现继承的几种方法
在之前学习java和C语言的时候接触了继承,但是看到了js的继承,总是觉得似曾相识,但又是是懂非懂的感觉。所以觉得应该总结一下,加深自己对js这种OO的理解。 许多OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。因为ECMAScript中函数无法签名,所以不支持接口继承,只支持实现继承,而实际上实现继承主要依靠原型链实现,在前面的文
2017-03-02 17:31:56 669
原创 JavaScript中的Repaint和Reflow
开发一个页面时,不可避免的需要进行repaint和reflow。也就只有以前的静态页面才会不存在repaint和reflow。repaint主要是针对某一个DOM元素进行的重绘,reflow则是回流,针对整个页面的重排。字面意思来说:repaint就是重绘,reflow就是回流。repaint和reflow的目的是:展示一个新的页面样貌。在开始说明这两个方法之前,我们先来看一下关于浏览器从接收到一
2017-03-01 15:41:41 986
原创 CSS选择器的权重计算
刚好是在做面试题的时候,发现有一个题目时关于CSS选择器的权重计算,当时脑海中只知道:id>class>元素选择器,外联样式优先级低于内联样式,内联样式优先级低于行间样式,至于权重的计算其实没有多大的印象,所以就来总结一下,避免以后遇见了还是不太懂。作为前端开发人员,知道CSS选择器的权重还是非常重要的。 在讲解计算规则之前,先来大概再了解下具体的CSS选择器有哪些,才可以更方便的知道权
2017-02-28 16:42:55 4673
原创 JavaScript之面向对象的属性和特性
对象的本质:ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。即对象是一组没有特定顺序的值,对象的每个属性或方法都有一个名字,而这个名字都映射到一个值。故对象的本质是一个散列表:其中是一组名值对,值可以是数据或函数。 既然提到对象,那么我们需要先来看一下如何创建对象。创建自定义对象的最简单方式就是创建一个Object 的实例,然后再为它添加属性和方法。
2017-02-27 16:26:03 693
原创 JavaScript中的mouseover与mouseenter,mouseout和mouseleave的区别
1、mouseover与mouseenter mouseover事件:不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。 mouseenter事件:只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。简单写个例子: Document .over{
2017-02-26 14:27:00 39473 3
原创 HTML5 Web存储(Web Storage)技术以及用法
使用HTML5可以在本地存储用户的浏览数据。早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速,这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上。它也可以存储大量的数据,而不影响网站的性能。数据以 键/值 对存在, web网页的数据只允许该网页访问使用。 Web Storage的目的是为了克服由cookie带来的一些限制,当数据需要被
2017-02-23 16:12:34 8982 1
原创 JavaScript中setTimeout()和setInterval()的使用以及区别
今天刚好在看setTimeout()的一个案例,在案例的解析中提到了setTimeout()和setInterval()的使用区别,但是比较理论,所以决定自己也总结一下,写写例子帮助理解一下。 首先是说说这两个方法的具体时如何使用的。1、setTimeout()方法 这个方法所有浏览器都支持,setTimeout( ) 是属于 window 的 method,
2017-02-20 22:07:15 8340
转载 JavaScript中的原型prototype【2】
转载自:原型prototype[2]前面说了介绍了原型,这一部分说说原型的一大作用:继承。在面向对象中,继承有两种方法,分别是接口继承和实现继承。但是在JavaScript中,函数不能只签名,所以JavaScript中只有实现继承。JavaScript继承的基本思路就是让一个引用类型继承另一个引用类型的属性和方法。 function SuperType()
2017-02-19 11:24:40 472
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人