- 博客(27)
- 收藏
- 关注
原创 form表单属性
属性值描述accept-charsetcharset_list规定服务器可处理的表单数据字符集。actionURL规定当提交表单时向何处发送表单数据。autocomplete(H5)on、off规定是否启用表单的自动完成功能。enctypeapplication/x-www-form-urlencoded、multipart/form-data...
2019-04-14 15:47:24
760
原创 TCP/IP协议族
TCP/IP协议族TCP/IP不是一个协议,是一个协议族的统称,它包括了很多协议OSI的七层协议——TCP/IP的四层协议在七层模型中,每个分层都接受由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务,上下层之间进行交互所遵循的约定叫做“接口”,同一层之间的交互所遵循的约定叫做“协议”(不想写html,所以没有合并单元格,请凑合着看)OSI七层协议TCP/IP对...
2019-04-14 15:13:00
457
转载 中文技术文档的写作规范
一、标题层级标题分为四级。一级标题:文章的标题二级标题:文章主要部分的大标题三级标题:二级标题下面一级的小标题四级标题:三级标题下面某一方面的小标题下面是示例。# 一级标题## 二级标题### 三级标题#### 四级标题原则(1)一级标题下,不能直接出现三级标题。示例:下面的文章结构,缺少二级标题。# 一级标题### 三级标题(2)标题要避免孤立编号(...
2019-04-13 21:11:08
958
1
原创 TCP的三次握手和四次挥手
TCP(传输控制协议)是一种面向连接的协议,网络程序使用这个协议的时候,网络可以保证客户端和服务端的连接是可靠的,安全的。首先,建立网络通信连接至少需要一对socket,一对socket可以唯一确定互联网络中每个TCP连接的双方。socket可以简单理解为IP+端口号,俗称“套接字”,是编程接口(API)。源IP可以让目标主机知道源主机的IP地址,以发送数据包,而端口号表示主机上应该接收和处理数...
2019-03-30 00:22:57
186
原创 js解决汉诺塔问题
经典的汉诺塔问题,将x塔座上n个从大到小的盘子移动到z塔座上,要求大盘子不能放在小盘子上面,可以借助y塔座,问最多需要多少次。分析:当n=1时,可以直接将盘子从x塔座移动到z塔座;当n>1时,要想把第n个盘子从x塔座移动到z塔座,则需要借助y塔座,即先将1~n-1盘子从x塔座移动到y塔座。然后再把第n个盘子从x塔座移动到z塔座,最后再把y塔座上1到n-1的盘子移动到z塔座上,就完成了。...
2019-03-16 21:46:51
2438
原创 js实现大数加和
大数就是超过整数最大上限的数,大数会被采用科学记数法的方式保存下来,这样就会导致最后的结果不准确。通过观察,我们可以总结出我们在做加法的时候的规律。即最小位数先相加,相加的结果个位数保留,有进位的参与到下一位的加法中。由此可看出,虽然大位的数虽然先读取到,但是是最后计算的,由此,我们可以用栈的实现方式来实现。像上一篇文章一样,栈我们使用数组来表示我们用三个栈分别存储和的个位数以及两个加数...
2019-03-16 17:56:56
650
原创 js检查表达式括号匹配
栈的特点:先进后出(FILO)。利用栈的这一特点,可以解决像它具有一样特征的问题,比如,大数相加、编辑器的undo序列的保存、浏览器访问历史的记录保存、递归函数中调用的地址和参数值的保存等。本文章主要要讲的是如何利用栈的特点,来检查表达式的括号是否匹配。//括号匹配let isLegal=function(str){ const left=0; const right=1; ...
2019-03-16 16:54:49
1628
原创 20180302阿里巴巴前端实习生在线笔试题
机会是留给有准备的人的,其实我有可以做出来,只是当时 好,现在加入正题 题目是这样的:<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Document&am
2018-05-12 18:05:34
333
原创 纯CSS画三角形
之前遇到过的问题如果查了然后懂了,然后没有及时复盘思考,就很容易还回去,今天把许久之前的这个知识点再整理一下,一是加深自己的记忆,二也是让初学者更容易懂。首先,创建一个空的div <div class="triangle"></div> 然后,CSS处理它的边框,给它不一样的颜色,好观察.triangle{ border-left:100px s...
2018-05-12 10:05:52
1686
转载 URL中的特殊字符
细节决定成败?平时没怎么关注的细节被面试官一问,就模糊了~ 只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*’(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL所以如果是其他字符,需要编码一、#的意思/作用 #代表网页中的一个位置,是一个页内超链接。#右面的字符,就是该位置的标识符(即 id值或name值)。比如,http://w...
2018-04-01 22:24:57
429
原创 浏览器缓存
前言 在前端开发中,缓存有利于加快网页的加载速度,同时缓存能够被反复利用,所以可以减少流量和带宽的开销,降低服务器压力。缓存的分类有很多种,CDN缓存、数据库缓存、代理服务器缓存和浏览器缓存。本篇将来讲解一下Web开发中的浏览器缓存。这个在实际开发环境中往往也会被问到,或者使用到。如何去准确认清楚缓存的概念,是前端必须要去学习的。正文浏览器的缓存问题,主要指的是http的...
2018-04-01 15:39:21
239
转载 float带来的问题
因为浮动定位不属于正常的页面流,所以当子元素都是浮动元素时,非浮动的父容器在显示时不会考虑子元素的位置,这样子父元素就会出现坍塌的现象。解决方法1.添加空元素在父容器末尾添加一个空元素,并且清除浮动,如://html<div class="layout"> <div class="content"></div> &...
2018-03-31 17:07:33
517
原创 js事件流例子以及扩展应用
上一篇文章我提出了一个问题,如果在我点击15这个圆的时候,输出15 16 17 18 19 20? 这个涉及到js事件流的问题,那么什么是事件流呢?大家可以阅读一下这篇文章,我觉得写得挺全面的哦。在这里我就放她文章的一张图片就好了。 DOM标准规定事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。 ● 事件捕获阶段:实际目标(<div>)在捕获阶段不会...
2018-03-25 15:33:39
634
原创 如何用js和css画箭靶
假设我现在要画一个类似箭靶的图,有3个圈,或许你可以用html直接把它们写出来//html部分<body> <div class="circle0"> <div class="circle1"> <div class="circle2"> </
2018-03-25 12:37:04
682
转载 “浏览器模式”和“文档模式”之间的区别
只有IE浏览器中才会有“浏览器模式”和“文档模式”,兼容性视图涉及两个重要的功能便是“浏览器模式【browser mode】”和“文档模式【document mode】”,在IE8/IE9中按F12键,打开“开发人员工具”,在菜单栏中可以看到“浏览器模式”和“文档模式”的切换菜单,其中可以选择切换到IE7/8等不同的网页模式。这个设置之后在js中可以通过navigator.userAgent获得浏...
2018-03-21 22:38:40
726
原创 null与undefined的简单区别
当声明的变量还未被初始化时,访问则返回undefined,而null表示尚未存在的对象console.log(type null);//object,可以理解为对象占位符 console.log(type undefined);//undefined console.log(null==undefined);//true,ECMAScript认为undefined是null派生出来的,所以...
2018-03-21 20:06:20
213
原创 微信小程序注意点
之前做的小总结,忘记发布了。具体的知识点请到官网去看下面是自动生成的page例子,感叹号后面的文字是我新添加的注释Page({ /** * 页面的初始数据 */ data: { // !数据绑定如果是在属性中应该加上双引号 // !小程序只是单向绑定 }, /** * 生命周期函数--监听页面加载,!第一个运行 */ ...
2018-03-13 19:48:33
294
原创 在git bash中用浏览器打开html文件
新建一个文件,比如命名为openfile,注意不要加后缀名,文件内容为#!/bin/sh"你的浏览器地址\chrome.exe" '你要打开的文件的地址'$1第一行是说这是个 shell 脚本 第二行的$1是openfile这个命令之后输入的文件名最后,保存到 C:\Program Files (x86)\Git\mingW32\bin 目录下(你的git目录可能与我的不一样,注意...
2018-03-12 15:39:20
2423
1
原创 git命令总结(二)
ctrl+c //退出正在进行的任务$git checkout -b newBranchName //创建并切换到新的分支$git checkout master //切换到主分支$git merge n
2018-01-26 20:34:45
238
转载 如何编写.gitignore文件
为什么要有.gitignore文件项目中经常会生成一些Git系统不需要追踪(track)的文件。典型的是在编译生成过程中 产生的文件或是编程器生成的临时备份文件。当然,你不追踪(track)这些文件,可以平时不用git add去把它们加到索引中。 但是这样会很快变成一件烦人的事,你发现项目中到处有未追踪(untracked)的文件; 这样也使git add .和git commit -a 变得实际上
2017-12-17 10:07:35
283
原创 git命令总结(一)
$ mkdir file //在当前目录创建文件夹file$ cd file //加入file$ pwd //显示当前位置$ git init //使变成Git可以管理的仓库会发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,不要改它,不然会把Git仓库给破坏了。 如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。 Git只能
2017-12-07 09:10:53
192
原创 微信小程序底部选项卡/导航栏实现方法
今天必须要写这篇文章,太坑了!微信小程序底部选项卡/导航栏的实现方法! 不过还是总结的说,就不说我经历了什么了。。 首先,在历经我一系列改革之后写出来的代码//nav_tp.wxml<template name="nav"> <view class="nav_container"> <navigator wx:for="{{navbar}}" data-idx="{{index}}
2017-12-05 19:29:56
11440
转载 如何解决滚动条使页面跳动的问题
这是很久之前遇到的问题,今天用自己的话重新总结一下,加深自己的印象,大家可以看我的理解,也可以看原博文这个问题出现在滚动条时有时无,而且左右margin使用了auto的情况下。当没有滚动条时,页面总的可见宽度为width,container用了subWidth,然后使用margin:0 auto使页面居中,结果左右边距为(width-subWidth)/2此时,点击另一个页面,滚动条出现,页面总的可
2017-11-29 13:36:09
5514
原创 闭包和变量
我之前经常遇到一个问题,为什么循环绑定函数只有最后一个函数如预期所想?或者说,为什么循环绑定函数,结果每一次绑定返回结果都一样?例如function createFunction(){ var result=new Array(); for(i=0;i<10;i++){ result[i]=function(){ return i;
2017-11-27 20:35:09
214
翻译 bind和new
function foo(){ this.b=100; return this.a;}var func=foo.bind({a:1});func();//1new func();//{b:100}bind函数绑定了this,即this={a:1},运行func后,this会增加b属性 {a:1,b:100},但是new的话,会忽略bind的作用,即this的绑定,重新新建一
2017-11-26 11:20:05
925
原创 寄生构造函数模式
寄生构造函数模式主要是用于创建一些特殊的原生对象,比如Array,String,就是在函数中为原生对象添加其他方法,在全局作用域中添加会污染到其他对象。而至于为什么要采用函数名首字母大写,为什么要使用new,应该只是为了用起来像原生构造函数那样,本身是没有什么意义的,因为不管new或不new,结果都一样,只是过程有点不一样。 通过new 来调用函数,会自动执行下面操作 1. 创建一个全新的
2017-11-21 21:12:29
393
原创 创建对象
这篇文章主要是根据JavaScript高级程序设计第6章总结一下JavaScript创建对象的几种方法创建Object实例var o=new Object();o.name='John';o.age=15;o.job='Engineer';o.sayName=function(){ alert(this.name);}这样子每次添加一个属性或者方法都要写一次对象名,很麻烦,于是就有
2017-11-21 14:20:14
215
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人