- 博客(61)
- 收藏
- 关注
原创 import和require的区别
4、require导入的值被修改时,源对象不会被改变,相当于深拷贝;import导入的对象值被改变时,源对象也会被改变,相当于浅拷贝。3、require通过module.exports导出的是exports对象,import通过export导出是指定输出的代码;2、require是运行是加载(可以在js中的任意地方使用),import是编译时加载(只能放到文件的最开头)1、require是commonJS规范的模块化语法,import是es6规范的模块化语法。
2023-03-18 20:40:19
1562
原创 node事件循环的6个阶段
一、node事件循环包括以下6个阶段:1、timers:用于存储定时器的回调函数(setTimeout setInterval)2、pedding callBacks:执行与操作形同相关的回调函数。比如启动服务器应用时监听端口操作时的回调函数3、idle prepare:系统内部使用的4、I/O Poll:存储I/O操作相关的回调函数,比如文件读写操作的回调函数。如果时间队列中有回调函数,执行他们直到清空操作。否则事件循环在此阶段会停留一段时间以等待新的回调含税进入。这个等待取决于两个条
2021-11-23 11:33:12
1833
原创 前端实现换肤
1、使用link标签rel="alternate stylesheet"动态换肤link标签的rel属性rel="stylesheet"属性指定将一个样式表立即应用到文档.rel="alternate stylesheet"属性将其作为备用样式表而在默认情况下禁用它通过js拿到link标签对象,disabled属性设置,可以实现变化页面导入样式表disabled = true;表示它不会立即生效disabled = false;表示立即生效代码示例:<!DOCTYPE
2021-07-20 16:34:06
852
原创 javascript实现原生方法
1、js实现Number对象的toFixed方法Number.prototype.toFixed = function (s) { changenum = ( parseInt(this * Math.pow(10, s) + 0.5) / Math.pow(10, s) ).toString(); index = changenum.indexOf('.'); if (index < 0 && s > 0) { changenum = changenum
2021-05-21 17:02:16
272
原创 react-native,启动时会出现长时间白屏
1、安装react-native-splash-screen先执行安装:npm i react-native-splash-screen -S再执行react-native link react-native-splash-screen or rnpm link react-native-splash-screen在android/settings.gradle文件中include ':react-native-splash-screen' project(':react-
2021-05-07 19:28:02
413
原创 ie8兼容性问题
1、ie8下的透明、旋转filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=k)其中k的取值 “只有”(请注意"只有"的意思,当然只是我自己的看法,因为试验了其他值没效果。):0,1,2,3。分别对应90度、180度、270度、360度。filter:progid:DXImageTransform.Microsoft.Matrix(M11=m11,M12=m12,M21=m21,M22=m22,sizingMethod="..
2021-01-27 16:20:58
244
原创 前端js实现即时通讯
1、轮询: 客户端定时去请求服务端, 是客户端主动请求来促使数据更新; 轮询两大缺点: 1)大量耗费服务器内存和宽带资源,因为不停的请求服务器,很多时候 并没有新的数据更新,因此绝大部分请求都是无效请求 2)数据不一定是实时更新,要看设定的请求间隔,基本会有延迟。2、长轮询: 也是客户端主动请求服务器端,但是服务器端不是即时响应,而是再数据发生变化了再向客户端响应。 优点:在无消息的情况下不会频繁的请求,耗费资源小。 ...
2020-12-16 17:31:05
2627
原创 linux服务器上安装node环境
1、下载nodejs2、解压安装包tar xf node-v10.9.0-linux-x64.tar.xz // 解压./bin/node -v // 执行node命令 查看版本3、配置node环境变量修改 /etc/profile文件在末尾添加export NODE_HOME=/usr/local/node //node解压所在路径export PATH=$NODE_HOME/bin:$PATH执行source /etc/profile...
2020-09-17 13:29:01
249
转载 create-react-app 使用详解
快速开始 npm install -g create-react-appcreate-react-app my-appcd my-app/npm start通过http://localhost:3000/查看你的app使用 npm run build 编译打包程序npm test 文件修改后测试,这部分内容后面讲 更新到最新版本 创建react app的主要分...
2019-06-11 10:29:26
435
原创 electron打包桌面应用
使用electron打包桌面应用,主要有两种方法:electron-packager和electron-builder凉中方法(主要针对window)首先是安装electron和electron-packager(electron-builder)两个依赖包。npm install --save-dev electron electron-packager为了方便,需要在packag...
2019-02-19 17:03:43
317
转载 npm安装任意包都报错的解决办法
解决办法:1、执行:npm config get proxynpm config get https-proxy如果返回值不为null,继续执行:(这一步很重要,一定要保证两个命令的返回值都为null,话说回来,应该出现这个错误这两个返回值有不为null的)npm config set proxy nullnpm config set https-proxy null2、执行...
2019-02-19 09:00:05
755
原创 javascript设计模式之状态模式
状态模式:当一个对象内部的状态发生改变时,会导致其行为的改变,var state = function(){ var _currentState = {}; states = { jump: function(){ console.log('jump'); }, move:function(){ ...
2019-01-20 19:37:25
172
原创 javascript实现订阅-发布
为解决主题对象与观察者之间的耦合var Observer = (function(){ var _message = {}; return { //订阅信息 register: function(type,fn){ if(_message[type] === "undefined"){ ...
2019-01-01 14:53:00
367
原创 javascript实现继承的方法,并各种继承存在的问题。
1、原型链式继承(类式继承)function SuperClass() { this.books = ['css','js','html'];}function SubClass(){}SubClass.prototype = new SuperClass();var obj1 = new SubClass();var obj2 = new SubClass();cons...
2019-01-01 13:58:42
433
原创 javascript中this的理解
1、在函数中执行,分严格模式和非严格模式非严格模式非严格模式 严格模式 "use strict"function func(){ function func(){ ...
2018-12-21 17:04:37
124
转载 setTimeout,async, promise执行顺序总结
async function async1() { console.log("async1 start"); await async2(); console.log("async1 end"); } async function async2() { ...
2018-10-31 17:05:52
206
转载 js中对象、数组的深拷贝
通常我们对数组、对象、对象数组进行简单赋值运算只是创建了一份原内容的引用,指向的仍然是同一块内存区域,修改时会对应修改原内容,而有时候我们并不需要这种模式,这就需要对内容进行深拷贝。一、数组的深拷贝方法1:遍历复制var arr = ["a", "b"], arrCopy = [];for (var item in arr){ arrCopy[item] = arr[item];...
2018-10-23 10:42:25
238
转载 前端开发之设计模式
前端开发中的设计模式设计模式的定义是,在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。在不同的编程语言中,对设计模式的实现其实是可能会有区别的。比如java和javascript,在Java这种静态编译型语言中,无法动态地给已存在的对象添加职责,所以一般通过包装类的方式来实现装饰者模式。但在JavaScript这种动态解释型语言中,给对象动态添加职责是再简单不过的事情。这就造成了J...
2018-10-10 10:55:20
147
原创 react事件处理,为类方法绑定this
react事件绑定属性的命名采用驼峰命名法, 如果采用JSX的语法,需要传入一个函数作为事件处理函数,而不是一个字符串(DOM元素的写法)。阻止事件的默认行为:不能使用返回false的方式来阻止默认行为,必须明确的使用preventDefault在类方法中绑定this注:要谨慎的在类方法中使用this,因为类方法默认不会绑定this。需要主动的将这类方法绑定到this上。为类方法...
2018-08-15 15:02:57
434
原创 react动态添加class
1.动态的添加class当前元素上没有其他的class<div class={'className'}></div>当前元素上本身有其他的class,又要动态的添加class时:<div class={['className1',index==0?'className2':null].join(' ')}></div>或者使用...
2018-08-14 15:04:45
10059
1
原创 angular常用的命令
ng new project_name:创建一个新的angular项目,名字为project_nameng install -skipng serve:启动angular项目ng g(generate) component componentName 新建一个组件名为componentName的组件ng g(generate)service serviceName -m app.module ...
2018-07-09 16:44:28
248
转载 Spring经典面试题
Spring 概述 1. 什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。2. 使用Spring框架的好处是什么?轻量: Spring 是轻量的,基本的版本大约2MB。 控制反转: Spr...
2018-07-06 14:38:21
276
原创 Spring IOC(控制反转)的三种依赖注入方式
1)、什么是依赖注入(DI)和控制反转(IOC)依赖注入和控制反转是对同一件事情的不同描述,从某个方面来讲,就是他们描述的角度不同。依赖注入是从应用程序的角度在描述,应用程序依赖容器创建并注入它所需要的外部资源;控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。当某个角色(一个java实例,调用者)需要另外一个角色(另外一个java实例...
2018-07-06 11:11:34
2733
转载 java---------AOP面向切面
面向切面的aspect注解: @Aspect @Pointcut @AdviceAOP的使用场景:authentication 权限caching 缓存context passing 内容缓存Error handling 错误处理Lazy loading 懒加载Debugging 调试PerSistence持久化Resource pooling 资源池Synchronization 同步Tra...
2018-07-05 14:02:28
520
原创 java中的自动装箱和拆箱
自动装箱和拆箱:自动装箱就是java自动将原始类型值转换成为对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转化成int类型值,这个过程叫做拆箱。这里拆箱和装箱是自动进行的非人为转换。自动拆箱和装箱要点:自动装箱:是编译器调用valueOf将原始类型值转换成对象。拆箱:是编译器调用intValue()这类的方法将对象转换成原始类型值。自动装箱:是将...
2018-06-27 16:39:29
221
转载 创建线程安全的单例模式
单例模式的概念单例模式就是确保只有一个实例,而且自行实例化并向整个系统传递这个实例,这个类就称作单例类单例模式最重要的一个特点就是构造方法私有化,单例模式分为懒汉式和饿汉式;第一种:懒汉式(线程不安全)传统的懒汉式创建单例模式,是线程不安全的public class Singleton { private static Singleton instance; pri...
2018-06-27 15:33:48
224
原创 mysql的常用命令和操作
数据库的常用命令:显示所有的数据库: show databases;选择使用的数据库:use database-name;创建数据库:create database database-name;查询当前数据库的字符集编码:show variables like 'charachter_set_database';查询当前数据库的所有数据表: show tables;创建数据表:create tab...
2018-06-25 23:09:48
104
转载 $(".seletor",this)--------(jquery选择器别样的写法)
<ul> <li><strong>list</strong> item 1 - one strong tag</li> <li><strong>list</strong> item <strong>2</strong> -
2018-06-23 23:34:54
198
原创 css修改滚动条的默认样式、input的placeholder的默认样式
css修改滚动条的默认样式:.box::-webkit-scrollbar {/*滚动条整体样式*/ width: 4px; /*高宽分别对应横竖滚动条的尺寸*/ height: 4px; }.box::-webkit-scrollbar-thumb {/*滚动条里面小方块*/ border-radius: 5px; -webkit-bo...
2018-06-23 21:28:04
292
转载 maven+spring+mybatis+springmvc所需要导入的jar包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0...
2018-06-09 17:51:00
1539
1
原创 javascript api
//将NodeList转换为数组function convertToArray(nodes) {var array = null;try {array = Array.prototype.slice.call(nodes, 0); //for standard DOM browser} catch (ex) {//for IE DOM based in COMarray = [];...
2018-06-08 15:23:14
127
原创 javascript中的prototype属性
1、构造函数的介绍构造函数,就是提供生成一个对象的模板并描述对象的结构的函数。一般构造函数的第一个字符都是大写,通过new命令来生成一个实例对象,一个构造函数可以生成一个或者多个具有相同结构的对象。总的来说构造函数就是对象的模板,对象是构造函数的实例。构造函数的特点:a:构造函数的第一个字母必须大写;b:内部使用this对象,来指向要生成的对象实例;c:使用new命令来调用构造函数,生成构造函数的...
2018-06-08 14:48:31
211
原创 jquery封装树形下拉选择组件
style样式:.treeBox{width: 400px; border: 1px solid black; margin: 0px auto; text-align: center; padding: 15px; } .tree{width: 200px; margin: 0px auto;...
2018-06-07 14:33:02
1519
原创 canvas实现转盘抽奖、刮刮乐
canvas实现转盘抽奖: var $deg = 0; var earlyIndex = 0; var currIndex = 0; var isAnimate = false; var $canvas = document.getElementById("canvas"); var ctx = $can...
2018-06-07 11:17:29
1045
原创 javascript实现不间断的向上(下、左、右)滚动
元素布局:<div class="box" id="scroll_left"> <div class="scroll_ele" id="scroll_ele"> <div class="item">9999999</div> <div cl
2018-06-03 19:04:49
1335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人