- 博客(52)
- 收藏
- 关注

原创 js深拷贝与浅拷贝
首先从js的数据类型说起js数据类型基本数据类型String,Number,Boolean,Null,undefined引用类型Object(Array、Function、Array、Date、RegExp)—基本数据类型存在于栈区,例如var a=1;在拷贝时,例如 var b=a; 栈中会重新为b开辟一个内存,如图所以当a改变时,并不影响b的值;因此基本数据类型并不存在深拷贝和浅拷贝的问题;—引用类型存在于堆中,例如var obj1 = [0,1,2,3];
2020-06-06 23:43:47
182

原创 js 排序算法
1.冒泡排序冒泡排序:是从头比较相邻的元素,将最大值交换到数组的最后一个位置,再从头比较相邻的元素,将次大值交换到数组的倒数第二个位置位置,以此类推<script> var array=[99,12,82,67,44,1,9]; console.log(maopao_sort(array)); function maopao_sort(arr){ ...
2019-12-26 21:15:29
67
原创 canvas实现一个实时时钟
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body><canvas id="canvas"></canvas></body><script> function loop(){ var can
2020-10-23 17:36:32
352
原创 手写实现apply函数
Function.prototype.myapply=function(content) { var res; //console.log(this); if(typeof this != "function"){ console.log("not a function"); }else{ content = content || window; //es6默认参数 有参数取content,.
2020-09-16 18:33:56
812
原创 js防抖与节流
防抖防抖:多次触发事件,只取最后一次,在最后一次触发后执行事件函数 function debounce(fun,wait){ var timeout = null; return function(){ clearTimeout(timeout); timeout=setTimeout(fun,wait); } } function method(){ consol.
2020-09-12 15:01:51
218
原创 HTTP报文
HTTP报文有两类1.HTTP请求报文—由客户端向服务端发送请求报文2.HTTP响应报文—由服务端返回给客户端的回答一、HTTP请求报文报文结构—请求行、首部行、实体主体请求行方法首部行首部字段名二、HTTP响应报文报文结构—状态行、首部行、实体主体2.状态行状态码3. 首部行首部字段名...
2020-07-12 20:29:19
255
原创 编程题整理
1、请用程序判断一个非空字符串是否是由所含的一个子串重复多次组成,字符串只包含小写字母且长度不超过5000。举例:abdeabdeabde,返回true,abdeabdeabd,返回false var str="abcdabcdabcd"; console.log(method(str)); function method(str){ var strlen=str.length; var flag=0; var count=0; //相等子
2020-07-12 19:42:46
203
原创 前端跨域常见解决方案
一、jsonp跨域jsonp跨域原理script、img、link、iframe,这些标签不存在跨域请求的限制jsonp跨域请求即是利用了script标签不存在跨域请求的限制这一特点jsonp跨域请求的原理图如下:【示例一】自创建服务器,并向其请求数据---serverJsonp.js//创建jsonp跨域服务器端(http:/127.0.0.1:8001\list)let express = require("express");app = express();app.li
2020-06-27 22:26:32
158
原创 问题总结(一)
一、css2与css3的垂直居中与水平居中css21.水平居中--对于行内元素,设置text-align:center;--对于块级元素,给元素设置宽度,并设置 margin:0 auto;左右居中;2.垂直居中--对于单行文本,给父元素设置heigth和line-heigth,设为相同的值,可实现文本垂直居中;--对于块级元素,给元素设置高度,并设置 margin:auto 0;上下居中;--给容器内元素设置相同的上下padding值,可实现垂直居中;css31.水平居中--给元素
2020-06-27 12:56:23
164
原创 css---清除浮动与定位
一、清空浮动的方法<style> .box-1{ width:100px; height:100px; background: blue; float: left; } .box-2{ width:150px; height:150px; backg...
2020-04-26 23:38:56
223
原创 Bootstrap--less
Less 是一个 CSS 预处理器,不能在浏览器编译,需要借助less.js进行编译一、变量定义变量—分为全局变量和局部变量@width:100px;@height:100px;@backGround:green;@borderColor:blue;变量的运用.box{ width: @width; height:@height; backgr...
2020-04-24 21:23:26
461
原创 Bootstrap---css
1.Bootstrap 是一个基于 HTML、CSS、JAVASCRIPT 的响应式(其内置css中存在大量的媒体查询)前端框架;2.Bootstrap框架特点:移动设备优先;为了让 Bootstrap 开发的网站对移动设备友好,确保适当的绘制和触屏缩放,需要在网页的 head 之中添加 viewport meta 标签:<meta name="viewport" content="w...
2020-04-24 13:53:08
1713
转载 this指向问题
一、普通函数中的this普通函数中的this指向,谁调用就指向谁;即this指向是在执行时确定 let obj = {//这个上下文环境是window _this: this, names :"小张", foo:function(){//这个上下文环境是obj setTimeout(function(){//箭头函数中的this是来自父块的上下文th...
2020-04-21 16:51:57
127
原创 ES6---Class
1.类的 typeof 类型为一个函数;2.类中含有一个构造函数,通过new命令生成对象实例时,会自动调用构造方法,一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加;3.类指向自身的构造函数;4.类的所有方法都定义在类的 prototype 属性上面,所以类的新方法可以添加在prototype对象上面;5.类的内部所有定义的方法,都...
2020-04-21 16:39:49
178
原创 HTML5---canvas | 地理定位
一、canvas绘图1.向html5页面添加canvas元素<canvas id="canvas"></canvas>2.设置画布大小let canvas= document.getElementById("canvas");//设置canvas 画布大小canvas.width=800;canvas.height=800;3.创建一个2d对象let...
2020-04-20 13:51:01
870
原创 ES6---Generator 函数 | async 函数 | module
一、Generator 函数—Generator 函数是 ES6 提供的一种异步编程解决方案—定义Generator 函数时,function与函数名之间有一个 * 星号;函数体内部使用yield表达式,定义不同的内部状态—Generator 函数 调用不能直接执行,需要使用 next() 方法执行—每调用一个next()方法,就会执行一个yield 表达式,执行结果转换为对象类型;—...
2020-04-16 20:32:21
179
原创 mySQL
一、常见错误1.ERROR 1046 (3D000): No database selected原因:没有引用数据库 需要使用"use 数据库名称" 命令引用所需数据库2.ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1原因:中文格式问题 执行 "set na...
2020-04-16 00:24:31
132
原创 Cookie和Session
一、js—cookieCookie 是存储于电脑上的文本文件中的一些数据;web 服务器向浏览器发送 web 页面,在连接关闭后,服务端不会记录用户的信息Cookie 的作用就是记录客户端的用户信息:当用户访问 web 页面时,用户信息记录在 cookie 中;在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录;Cookie 存在有效期,默认在浏览器关闭时删除,可以设...
2020-04-15 22:22:03
156
原创 node.js--express框架的get和post方法
一、get方法1.建立一个router.js文件 给出配置路由的get方法let url = require("url");//定义一个路由的空对象let router = {};let app=(require,response)=>{ //服务器封装方法 response.writeHead(200,{"Content-Type":"text/html;c...
2020-04-11 23:43:54
286
原创 node.js-- 路由的简单配置与封装 | 获取get和post传值
一、路由的简单配置let http=require("http");http.createServer((require,response)=>{ let path = url.parse(require.url); //获取路径信息 let pathname=path.pathname; //获取路径 if(pathname!="/fav...
2020-04-11 16:26:06
314
原创 node.js--处理异步
一、回调函数处理异步将异步代码封装在一个函数中,函数参数为callback,通过此回调函数传递数据function getdata(callback){ fs.readFile("stu.txt",(error,data)=>{ if(error){ throw error; } callback(data.toStr...
2020-04-09 23:26:21
127
原创 node.js--静态web服务器
静态web服务器:1.请求路径信息时需要过滤掉"/favicon.ico"这个请求;2.可单独建立一个所有文件网页显示格式的json文件,在所需文件中读取,并以键值对的方式去匹配)3.用path.extname()获取文件的后缀名,为不同类型文件配置不同的文件网页显示格式,即设置Content-Type值1.加载所需模块let server = require("./server/se...
2020-04-09 21:45:52
162
原创 node.js--Stream
一、读取流let fs=require("fs");//请求的数据let data="";//创建读取流let readerstream = fs.createReadStream("page/write.txt");//设置编码格式为utf-8readerstream.setEncoding="utf-8";//监听事件 data end error//data 当有数据可读...
2020-04-09 00:48:53
111
原创 node.js---fs文件系统
一、文件系统的读取单文件异步读取1.请求加载fs模块let fs=require("fs");2.暴露一个对象,在需要的模块中引入redfile(){ //readFile("文件名",option(文件读取方式),回调函数((error,data)=>{})) fs.readFile("./page/data.txt",(error,data)=&g...
2020-04-08 23:40:08
114
原创 node.js--自定义模块与第三方包
common.js中自定义模块的实现:在模块里面通过exports或者module.exports暴露属性或者方法在需要的模块使用require引入模块一、模块暴露//变量接收创建的服务器let ser=http.createServer(......);1.exports暴露exports.ser=ser;2.module.exports暴露module.exports...
2020-04-07 21:53:01
453
原创 node.js--内置模块
一、http模块1.用require 指令来载入 http 模块let http = require("http");2.创建服务器//createServer参数是一个回调函数//回调函数的参数为:request 接收数据(路径信息),response 响应数据http.createServer((request, response)=>{ //发送http头部: ht...
2020-04-07 15:25:59
130
原创 ES6--Promise对象
Promise 是一个容器 里面放的是未来或者异步的即将发生的事件Promise 对象的使用也是一个构造函数,用来生成Promise实例Promise 对象的三大状态(Pending(进行中)、Resolved(已完成)和Rejected(已失败))不受外界影响,只有当前异步编程的结果会决定当前状态。Promise实例的生成和返回信息 //Promise构造函数接受一个函数作为...
2020-04-03 23:29:44
177
原创 vue--组件的创建与传值
一、组件的创建局部组件 1.建立一个文件,创建子组件 2.在主组件script标签内直接引入[import 自定义组件名 from "子组件路径"] import topTitle from "./component/systemtoptitle"; 3.注册组件 将子组件挂载在主组件上 在export default中 component属性中注册 //注册方式一: ...
2020-04-03 00:04:38
125
原创 vue---mock模拟数据与三大数据请求方式
一、mock模拟数据安装cnpm install mockjs --save-dev建立mock.js文件,并在该文件中引入mockimport Mock from "mockjs";3.在main.js文件中引入mock.js文件import Mock from "./mock/mock" //"./mock/mock" 为mock.js文件路径4.在mock....
2020-04-02 00:33:32
1225
原创 Vue--路由的安装与配置
1.安装路由 cnpm install vue-router --save-dev 安装后package.json中出现如图所示vue-router配置,即为安装成功2.在main.js中new Vue中配置routernew Vue({ el: '#app', router, //一定注意要在此处配置,不配置会出现如下图错误 render: h => ...
2020-03-29 21:20:04
413
原创 ES6--Map和Set数据结构
一、Set * Set 本身是一个构造函数 * Set 的构造函数constructor 是自己本身 * Set 使用的时候 需要new对象 * Set 结构不会添加重复的值,即其中所有值都是唯一的,可用于数组去重Set的实例化 let arr=[1,2,3,4,5]; let set=new Set(arr); console.log(set); //set(5)...
2020-03-20 21:45:38
77
原创 web(ES6语法)
一、let命令和const命令1.let命令:用于声明变量,与var类似,不同的是:let声明的变量只在代码块中有效;let不存在“变量提升”,即变量一定要在声明后使用在一个代码区域里,不能重复声明同一个变量{ let a=0; console.log(a);}console.log(a); //报错 let只在代码块中作用由于 let声明的变量在一个代码块中有效...
2020-03-19 19:42:07
561
原创 web(原型链与继承)
一、 原型链 _proto_ : 原型链,对象的属性,指向生成该对象的构造函数的原型对象 prototype: 原型对象,函数(构造函数)特有的属性,存储共享的属性和方法 // 所有的javascript对象都会继承一个prototype原型对象 继承原型对象上的属性和方法 // Date 对象 从Date.prototype 原型对象上继承属性和方法 // Array 对象 ...
2020-03-10 23:41:58
302
原创 web(ajax)
一、ajax简介ajax是一种局部刷新技术,用于访问后台数据。它允许通过与场景后面的 Web 服务器交换数据来异步(即请求和后续代码同时执行)更新网页,这意味着可以更新网页的部分,而不需要重新加载整个页面 。ajax工作原理二、js ajaxjs中用于同幕后服务器交换数据的对象为:XMLHttpRequest对象原生js ajax 不要设置同步请求,原生js为单线程访...
2020-03-06 23:52:34
169
原创 web(jQuery动画)
1.animate();/*animate([属性,属性值],速度,函数)*///参数一:可以为多个属性的动画,以{属性:属性值,属性:属性值,...}的方式列举//参数二:可以设为"slow"、"fast"、或者具体的毫秒数作为动画执行的时间//参数三:该函数是动画执行完要执行的函数,并非回调函数//示例$(".box").animate({ marginLeft:200,...
2020-02-28 18:54:23
134
原创 web(问题小结)
[border:0;]与[border:none;]的区别[borde:0;]:把border设为“0”像素虽然在页面上看不见,但按border默认值理解,浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值。[border:none;]:把border设为“none”即没有,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值。css...
2020-02-23 19:40:43
198
原创 web(jQuery正则表达式)
一、常用字符字符描述\转义字符^正则表达式开始的符号$正则表达式结束的符号*匹配一个子表达式零次或者多次+匹配一个子表达式一次或者多次?匹配一个子表达式零次或者一次,+?连用表示匹配一次(表达式不加结束符号$){n}匹配前面的表达式n次{n,m}匹配前面的表达式n-m次{n,}匹配前面的表达式至少n次()...
2020-02-23 14:40:33
79
原创 jQuery(事件)
web(2.12-2.13)1.事件绑定与移除//on(eve,[sel],[data],fn) 可同时绑定多个事件,data传值给e.data//绑定多个事件分别对其进行操作时,通过e.type判断事件类型//off(eve,[sel],[fn])//不写任何参数该元素的所有事件全被移除//fn不是回调函数,而是添加事件时,将之前的匿名回调转化为基本函数写法 //on(),o...
2020-02-14 20:13:15
98
原创 jQuery(文档处理/css/属性)
1.css尺寸height([val/fn]),width([val/fn]);即可设置也可获取//获取(以height为例)$("ele").height(); //获取到的值不含像素单位//设置(以height为例)$("ele").height(300); //设置的值后边不带单位//关于其回调函数(以width为例)$("ele").width(function...
2020-02-14 19:43:27
200
原创 jQuery简介及其选择器
web(2.12-2.13)一、jQuery简介jQuery是一个轻量级的"写的少,做的多"的JavaScript库;jQuery 是目前最流行的 JS 框架;jQuery库 在head body里面都是可以引入在写jQuery 代码的时候先引入jQuery文件(库),才能去写常规的jquery代码运行时先跑jQuery库代码 在走写的jQuery代码;jQuery dom...
2020-02-14 15:14:29
130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人