- 博客(58)
- 收藏
- 关注
原创 JS 中常见算法以及基础排序
算法构成控制结构(顺序、分支、循环)原操作(固有数据类型的操作)常见js算法字符串出现频率最高的字母/数字//js实现var str = 'ddcflldkd';function showMax(str) { var array = str.split(''); var maxnum = 0, maxValue = ''; //存储最多字母及出现次数...
2019-03-27 15:06:59
248
原创 一次完整的http请求过程
从浏览器地址栏按下回车后一个完整的http请求需要8步;浏览器搜索自身的 DNS 缓存,若有返回结果结束请求,若没有(未找到缓存/失效)执行2浏览器搜索操作系统自身的 DNS 请求,若没有执行3读取本地 HOST文件,若没有执行4浏览器发起 DNS 的一个系统调用(一般为宽带运营商提供),获取到对应的IP地址宽带运营商服务器查看自身缓存若没有发起迭代 DNS 解析请求根域 ip ...
2019-03-19 11:43:12
412
原创 Koa框架的一些基本用法
一、基本用法创建 HTTP服务 server.jsconst Koa = require('koa');const app = new Koa();app.listen(3000, () => { console.log('Server Started...')})运行 node server.js 访问 http://localhost:3000/ 浏览器显示...
2019-02-19 17:43:15
734
原创 Node.js --自定义模块/内置模块
Node.js模块系统1.创建一个简单的模块:创建hello.js文件exports.word = function() {console.log('hello word');}返回main.js文件var hello = require('./hello');hello.word(); //获取模块的exports对象输出结果:hello word ...
2019-02-15 16:52:56
301
原创 Node.js--events模块 (绑定监听事件)
一.Node.js内置事件,通过引入events模块,实例化EventEmitter类绑定监听事件。//引入events模块var events = require('events');//实例化eventEmitter对象var eventEmitter = new events.EventEmitter();//匿名函数绑定data_received事件eventEm...
2018-12-21 11:01:03
674
原创 Node.js基本认识
一、1.安装node2.编写第一个node.js文件 !!!文件后缀名保存为jsuse strict'; console.log('Hello, world.');运行:在命令行内输入node first.js会输出hello,world.3.在命令行模式下,可以执行node进入Node交互环境,可以输入js代码并立刻执行,会把每一行js代码的结果自动打印出来,但...
2018-12-18 00:12:27
226
原创 shell脚本语法(下)
1.Shell传递参数在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……echo "第一个参数:$1" #1echo "参数个数为:$#" 。 #3echo "传递参数作为一个字符串显示:$*" 。 #1 2 3在执行脚本时 /bin/sh test.sh 1 2 3...
2018-12-18 00:02:00
158
原创 shell脚本语法(上)
1.概念:Shell 脚本(shell script),是一种为 shell 编写的脚本程序。所谓脚本,在最简单的情况下,不过是存储在一个文件里的系统命令列表。 2.bash脚本头部: #!/bin/bashecho:用于向窗口输出文本;第一个脚本:#!/bin/bashecho "hello word"运行脚本:1.作为可执行代码运行:保存为.sh文件...
2018-12-17 00:40:34
223
原创 gitbook
1.概念:使用Git和Markdown编排书本。gitbook中文教程:http://www.chengweiyang.cn/gitbook/basic-usage/README.htmlMarkDown:一种电子邮件风格的标记语言。官方文档:https://xdays.me/markdown%E5%AE%98%E6%96%B9%E6%96%87%E6%A1%A3.html 2...
2018-12-16 12:39:22
172
原创 二、react—TodoList功能
TodoList功能:通过input获取数据点击按钮添加到列表中,点击某一个列表行删除当前行数据;1.创建项目:react官网--> Docs --> Create a New React App配置好环境后打开终端输入命令创建react项目;2.打开项目,删除不必要代码,App组件修改为TodoList(1)分为3部分:input+button+List利用m...
2018-12-11 16:12:53
197
原创 一、react初识
环境配置1.两点支持:JSX支持、ES6支2.这里我用的是vscode Mac版:首先安装:1.VSCode:https://code.visualstudio.com/2.Node.js:https://nodejs.org/en/3.yarn:https://yarnpkg.com/zh-Hans/docs/install#mac-stable安装说明https://...
2018-12-07 00:21:41
123
原创 Vue语法
Vue.js:用于构建用户界面的渐进式框架。vue基础语法1.导入Vue.js:(1)绝对路径导入<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>(2)下载Vue.js相对路径导入 <script src="../js/vue.js"></script&g...
2018-09-19 21:23:59
525
原创 计算机网络概述
1.计算机网络的层:物理层、数据链路层、网络层、运输层、应用层;2.网络应用:网络安全、因特网上的音频/视频服务、无线网络;3.计算机网络重要功能:连通性:彼此连通,交换信息;共享:信息共享,软硬件共享4.网络、互联网、因特网关系:整个因特网使用的就是TCP/IP协议 通信; 5.因特网发展阶段:ARPANET向互联网发展;1983 TCP/IP三级结构...
2018-09-03 17:29:54
329
原创 网站优化(SEO、Yahoo)
一、SEO在网页制作中的应用(html/css优化)1.SEO (Search Engine Optimization)搜索引擎优化;白帽SEO:改良和规范网站设计作用,并且网站能从搜索引擎中获取更多合理的流量;黑帽SEO:利用和放大搜索引擎政策缺陷来获取更多用户的访问量 2.白帽SEO内容上的优化作用:网站标题、关键字、描述;网站内容优化;Robot.txt文件;...
2018-09-01 12:41:40
1821
原创 一、github注册及基本使用
1.进入官网,登录/注册https://github.com/ GitHub官方网站进行注册 注册完成:创建一个属于自己的库:点击右上角的+号:创建自己的库 new repository 只输入repository name 其他默认第一个Repository name: 给自己的库起个名字:创建完成:通过ssh密钥建立本地库连接2.注册完成之后 下载安装...
2018-08-23 13:16:40
910
原创 一、MySQL数据库的安装、配置、启动、登录
概述:MySQL:一个开源的关系型数据库管理系统;MySQL分为社区版、企业版;(学习建议使用社区版)安装MySQLwindow下安装方式: MSI安装(初学者建议用此方法) ZIP|安装 MSI安装方法官网下载MySQL 5.5版本,启动安装包 点击next勾选最终用户同意协议选择安装类型 典型安装准备安装询问是否接受配置 不勾选点击finish...
2018-08-07 10:22:18
886
原创 四十二、jQuery的ajax请求
一、Ajax请求方法1.js原生ajax方法:/1.创建XHR对象 (服务器交互对象) 注意兼容 var ajax; if(window.XMLHttpRequest){ ajax=new XMLHttpRequest(); }else{ ajax=new ActiveXObject("Microsoft.XMLHttp"); /...
2018-07-22 16:00:50
217
原创 四十一、瀑布流布局(js,jquery,css3三种方式)
一、简介1.实现瀑布流的方法:JavaScript原生方法、jquery方法、css3的多栏布局二、js原生方法实现--思想1.瀑布流的特点:等宽不等高<div id="main"> <div class="box"> <div class="pic"> <img src="images/0.p
2018-07-16 09:34:22
217
原创 四十、鼠标滚轴、滚动条事件
一、鼠标滚轴事件 存在浏览器兼容问题说明:当用户通过鼠标滚轮与页面交互、在垂直方向上滚动页面时(上/下),就会触发滚轴事件,且这个事件可以在任何元素上触发,最终会冒泡到document(IE)或window(Opera、Chrome和Safari)对象。 1.在IE、Opera、Chrome和Safari中鼠标滚轴事件为:onmousewheel 当转动鼠标滚轮时运行脚本判断滚动方向:在mous...
2018-07-01 23:01:01
1074
原创 三十九、Jquery三级联动dome
说明:和js的三级联动dome写法一致,只是用jquery语法;另外数据这次采用json数据格式做示范; 注意:json数据中同级关系的名称一致,方便后面的访问,子父级关系的名称可以一致也可以不一致;另外,还需要处理选择请选择时的bug(设置默认value=””,当获取的value值为空时,跳出当前程序) 代码如下:<!DOCTYPE html><html lang="en"&...
2018-07-01 19:57:54
192
原创 三十八、jquery 购物车功能实现demo
说明:所有功能及实现原理和js购物车一致,只是将所用语法改写为了jquery语法一、利用table标签简单创建界面样式;二、首先实现全选、单选功能1.全选功能时需要判断是否有checked属性;在jquery中设置或返回被选元素的属性/值的方法有两种attr()及prop();需要注意的是attr()并不能用来检测单选框是否被选择,它会返回undefined值,即并不能使用attr()方法获取ch...
2018-07-01 18:58:48
2827
1
原创 三十七、jQuery多动轮播动画混叠效果
利用枚举对象封装方法,通过参数传递建立不同的动画模型并调用执行对应动画;主要是为了演示如何对动画混叠进行封装一、搭建整体模型1.封装层级排序方法//封装层级排序方法sortimg:function(){ $(".ulinfo li").each(function(index){ $(this).css({"zIndex":$(".ulinfo li").length-index...
2018-06-27 12:19:56
220
原创 三十六、jquery手风琴效果
1.基本结构样式2.添加手风琴展开事件:当鼠标进入某个图片,展开当前图片,其同胞兄弟合起来,并设置相应的样式注意:需要使用stop()处理连续多次滑动的情况;$(this).mouseenter(function(){ //设置span属性 $(this).children("span").css({ borderStyle:"none", backgrou...
2018-06-26 11:37:25
139
原创 三十五、jquery动画 无缝滚动两种方式
无缝轮播有两种方式,一种可以让ul中的每个li进行移动,另外一种时令整个ul进行移动。无缝轮播效果之前用js写过一次,以下是用jQuery分别实现这两种方式; 一、第一种 控制每个li标签移动实现无缝轮播1.基本布局样式2.实现自动向左轮播采用枚举对象封装函数的方法,封装自动轮播的方法:利用jQuery的自定义动画animate改变第一张图片的marginLeft令其向左移动,当移动结束时将第一张...
2018-06-26 09:32:55
871
原创 三十四、jquery练习 手机点餐demo
一、所用知识点:1.jquery事件绑定方法:(1) bind():类似于js中事件的监听方法; 语法: $(selector).bind(event,data,function,map) selector:被选元素;event:添加到元素的事件(一个或多个);data:可选,传递到函数的额外数据;function:执行函数;map:事件映射 ({event:function, event:...
2018-06-22 20:17:51
844
原创 三十三、手机触屏touch、手势、重力监听事件
一、手机触屏事件1.常见的触屏事件:touchstart:触摸开始时候触发touchmove:手指在屏幕上滑动的时候触发touchend:触摸结束的时候触发touchcancel:当一些更高级别的事件发生的时候(如电话接入或者弹出信息)会取消当前的touch操作,即触发ontouchcancel。一般会在ontouchcancel时暂停游戏、存档等操作。 2.每个触摸事件包含三个触摸列表,每...
2018-06-17 00:23:46
849
原创 三十二、cookie数据、JSON及JSON.parse()方法
一、JS中cookie数据1.cookie:用于存储web页面的用户信息。 cookie是一些数据,存储于电脑上的文本文件中,当web服务器向浏览器发送web页面时,在连接关闭后,服务端不会记录用户的信息。2.作用:解决“如何记录客户端的用户信息”: 当用户访问 web 页面时,他的名字可以记录在 cookie 中。在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。 3.Ja...
2018-06-16 21:23:17
1054
原创 三十一、Html5中的web存储
一、在客户端存储数据的两种方法:1.localStorage:没有时间限制的数据存储; sessionStorage:针对一个session的数据存储;由cookie完成,但cookie不适合大量数据的存储,因为其由每个服务器的请求来传递,使得cookie速度很慢且效率不高 2.在h5中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。对于不同的网站,数据存储于不同的区域,并且一个网站...
2018-06-16 20:36:03
153
原创 三十、JS几种跨域方法和原理
Ps:浏览器的同源策略:其限制之一就是不能通过ajax的方法请求不同源中的文档。限制二是浏览器中不同域的框架之间不能进行js的交互操作。一、什么是跨域?1.JS跨域是指通过js在不同的域之间进行数据传输或通信,如Ajax向一个不同的域请求数据,或者通过JS获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,即为不同的域;Eg:网址是 http://baidu.co...
2018-06-12 20:24:11
202
原创 二十九、JS原生Ajax请求
1.同步,异步区别: 同步:通俗理解代码必须按顺序执行,后面代码必须等待前面代码执行完成才能执行,即当客户端发送请求到服务器端,服务器返回响应之前,客户端都处于等待,卡死状态 异步:前后代码同时执行,后面代码不需等待前面代码执行完成,即客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可随意做其他事情不会被卡死。2.Ajax概述:Ajax是一种快速创建动态网页的技术。通过后台与服务器...
2018-06-11 16:06:56
179
原创 二十八、JS飞机大战demo
一、第一步:创建地图分析:创建的地图,要制造飞机一直向上飞行的效果,则要背景无缝循环向下轮播,和之前的无缝轮播一直,只是改变的是top值;Html代码 :<div class="map"> <div class="bgmap"></div> <div class="bgmap"></div>&
2018-06-07 18:32:10
4902
2
原创 二十七、JS经典贪吃蛇demo
一、首先 创建地图1.封装一个地图的类;function Map(){ //设置地图的相关属性 this.width=1200; this.height=600; this.position="relative"; this.backgroundColor="black"; this.margin="0 auto"; //封装接受地图对象的属性 th...
2018-06-07 18:28:59
286
原创 二十六、apply()方法和call()方法用法及区别
一、ECMScript简单介绍ECMAScript(European Computer Manufacturers Association)是通过ECMA-262标准化的脚本程序设计语言,通常称为Javascript/JScript,所以可理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。 二、apply()方法apply方法是应用某一对象的一个方法,用另一...
2018-05-30 18:25:00
167
原创 二十五、JS的几种继承
一、JS中this的四种使用情况 在函数执行时,this总是指向调用该函数的对象;判断this的指向,即判断this所在的函数属于谁1.当函数有所属对象时,指向所属对象:例如 var object=document.getElementById("object"); object.onclick=function(){console.log(this); //这里this指向object 事...
2018-05-29 20:01:45
120
原创 二十四、form 表单验证+简单注册正则表达式
一、知识点1.JavaScript正则表达式:使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。(搜索模式可用于文本搜索和文本替换)2.正则表达式概念:由一个字符序列形成的搜索模式;3.语法:var 名称=/正则表达式主体/;4.字符串方法:search()方法 用于检索字符串中指定的子字符串或与正则表达式相匹配的子字符串,并返回子字符串的起始位置;replace()方法 用于在字...
2018-05-28 19:54:15
2357
原创 二十三、JS购物车demo
一、构建基础结构样式二、添加数量栏行为1.按“+”数量栏中数量跟随增加,按“-”数量栏数量跟随减少;2.当数量栏数量为1时,再按“-”时,数量栏不会再减少;注意:事件中要使用事件对象索引时要对其进行标记; //添加数量事件jian[i].index=i; //标记对象索引jian[i].onclick=function(){ var val=txt[this.index].value; ...
2018-05-24 12:55:24
392
原创 二十二、JS 三级联动demo
一、知识点HTML DOM Option 对象:Option 对象代表 HTML 表单中下拉列表中的一个选项。在 HTML 表单中 <option> 标签每出现一次,一个 Option 对象就会被创建。可通过表单的 elements[] 数组访问一个 Option 对象,或者通过使用 document.getElementById()访问;Option()有2个参数,第一个参数是添加的...
2018-05-23 15:41:48
262
原创 二十一、JS日期对象方法实现倒计时效果
一、知识点:Date 对象方法:常用的获取日期对象方法:getDate() 日,从 Date 对象返回一个月中的某一天 (1 ~ 31)。 getDay() 周,从 Date 对象返回一周中的某一天 (0 ~ 6)。 getFullYear() 年,从 Date 对象以四位数字返回年份。 getHours() 时,返回 Date 对象的小时 (0 ~ 23)。 g...
2018-05-23 14:29:14
478
1
原创 二十、JS轮播停留效果
一、思路1.轮播停留与无线滚动十分类似,都是利用属性及变量控制移动实现轮播;2.不同的是轮播停留需要添加过渡属性搭配定时器即可实现轮播停留效果;二、步骤1.写基本结构样式需在末尾多添加一张与第一张相同的图片,消除切换时的抖动;2.添加轮播停留事件 有了之前的基础,直接添加索引圈默认事件到轮播停留事件内;注意:当轮播到最后一张时,需要消除掉过渡,这里使用setTimeout定时器,卡最后一张图片轮播...
2018-05-23 12:22:08
414
原创 十九、JS淡入淡出效果
一、思路1.利用zIndex属性调整层级,同时搭配opacity透明度属性,利用定时器以及过度属性实现淡入淡出;2.箭头切换以及索引圈均使用与前2个案例类似的办法实现; 二、步骤1.构建基本结构样式2.添加淡入淡出事件,封装为一个方法,定时器调用,由于已经有了前2个案例的基础,这里直接考虑到鼠标点击箭头切换时的传参问题;默认right,从前向后淡,left从后向前淡;利用zIndex让图片循环成为...
2018-05-23 09:23:56
1291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人