Web
月迷津渡丶
这个作者很懒,什么都没留下…
展开
-
从输入URL到页面加载的全过程
输入网址–>浏览器处理网址原创 2022-05-26 13:13:04 · 235 阅读 · 0 评论 -
新老版本垃圾回收
标记清除引用计数新/老生代增量标记原创 2022-05-18 20:28:19 · 194 阅读 · 0 评论 -
html-meta标签
原创 2022-05-09 22:06:25 · 186 阅读 · 0 评论 -
MVVM和MVC有什么区别
什么是MVVM?视图模型双向绑定,是Model-View-ViewModel的缩写,也就是把MVC中的Controller演变成ViewModelModel层代表数据模型,View代表UI组件,ViewModel是View和Model层的桥梁,数据会绑定到viewModel层并自动将数据渲染到页面中,视图变化的时候会通知viewModel层更新数据以前是操作DOM结构更新视图,现在是数据驱动视图。MVVM的优点:低耦合。视图(View)可以独立于Model变化和修改,一个Model可以绑定到原创 2022-03-15 23:36:00 · 4717 阅读 · 0 评论 -
call,apply,bind
call()方法和apply()方法的作用相同,他们的区别在于接收参数的方式不同。对于call()第一个参数是this值没有变化,变化的是其余参数都直接传递给函数。(在使用call()方法时,传递给函数的参数必须逐个列举出来。使用apply()时,传递给函数的是参数数组)如下代码做出解释:apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。call:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.原创 2022-02-14 00:32:58 · 193 阅读 · 0 评论 -
Symbol
什么是Symbol它是ES6的一种新的基础数据类型,它的功能类似于一种标识唯一性的IDlet s1 = Symbol()console.log(typeof s1)//symbollet s2 = Symbol('test')//添加descriptionconsole.log(s2 === Symbol('test'))//false 每个Symbol实例都是唯一的应用场景const name = Symbol('name')const sex = Symbol('sex')let转载 2020-12-01 23:24:27 · 156 阅读 · 0 评论 -
实现一个简易版的微博,包含 client 和 server 两部分,并实现四个基础功能:关注、取关、发微博、获取用户微博列表
const assert = require(‘assert’);const question = ‘实现一个简易版的微博,包含 client 和 server 两部分,并实现四个基础功能:关注、取关、发微博、获取用户微博列表’;// A 关注 B 后,A 和 B 就成为好友关系(即使 B 没有关注 A)// 某个用户的微博列表,包含他本人和他所有好友的所有微博// 数据存储在 server 端// 具体执行逻辑,参见本题的测试部分class WeiboClient {/**@param原创 2020-12-01 19:42:26 · 784 阅读 · 0 评论 -
从url到页面加载
浏览器根据主机名去操作系统的Hosts文件中查找主机名对应的IP地址浏览器如果在操作系统的Hosts文件中没有找到对应的IP地址,就去互联网上的DNS服务器上查找对应的IP地址浏览器查找到对应的IP地址后,就使用IP地址连接到Web服务器(三次握手)第一次握手: 建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;第二次握手: 服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此.原创 2020-12-01 19:40:14 · 90 阅读 · 0 评论 -
react16.8+的生命周期
React 16之后有三个生命周期被废弃(但并未删除)componentWillMountcomponentWillReceivePropscomponentWillUpdate官方计划在17版本完全删除这三个函数,只保留UNSAVE_前缀的三个函数,生命周期分为三个阶段,分别是挂载阶段、更新阶段、卸载阶段挂载阶段:constructor: 构造函数,最先被执行,我们通常在构造函数里初始化state对象或者给自定义方法绑定thisgetDerivedStateFromProps.转载 2020-11-29 23:36:07 · 552 阅读 · 0 评论 -
micro_macro
setTimeout(function(){console.log(1)},0);new Promise(function(resolve){ console.log(2) for(let i=0 ; i<10000 ; i++ ){ i===9999 && resolve() } console.log(3)}).then(function(){ console.log(4)});console.log(5);.原创 2020-11-29 23:15:07 · 367 阅读 · 0 评论 -
Observer的实现
> 当时想到了这是问的vue源码,但没想起`Object.defineProperty`问题Observer的实现,请按照要求实现Observervar o = { a: 1, b: 2, c: { x: 1, y: 2 }}observer(o, ['a', 'c.x'], (v, prev) => { console.log(v); console.log(prev);});// o.a = 2;// 1,原创 2020-11-29 22:56:49 · 288 阅读 · 0 评论 -
CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。在 XML 元素中,"""&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。某些文本,比如 JavaScript 代码,包含大量 "CDATA 部分中的所有内容都会被解析器忽略。CDATA 部分由 "" 开始,由 "]]>"转载 2014-11-26 09:30:33 · 803 阅读 · 0 评论 -
网页点击返回功能
返回原创 2014-11-27 14:10:56 · 523 阅读 · 0 评论 -
Spring@Autowired注解与自动装配
1 配置文件的方法 我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。 Boss 拥有 Office 和 Car 类型的两个属性: 清单 3. Boss.java转载 2014-11-25 10:09:52 · 328 阅读 · 0 评论 -
POI处理超过65536条记录
03格式的excel文件(.xls)最多只支持65536行,所以当需要处理的数据超过65536时,便不能使用HSSFWorkbook了,即不能用03格式的excel了07格式的excel文件(.xlsx)对应的方法是:XSSFWorkbook先读取一个表头: SXSSFWorkbook wb2 = new SXSSFWorkbook(6000); File file = new原创 2015-01-07 14:47:08 · 2120 阅读 · 0 评论 -
jquery获取radio的值,a标签传值
jquery获取radio的值:var_name = $("input[name='radioname']:checked").val();a标签传值:进入派单界面原创 2014-12-01 15:06:41 · 1169 阅读 · 0 评论 -
ECharts 浙江地图实践
效果: // 路径配置 require.config({ paths : { echarts : '${resources }/echarts/dist' //${resources } 看下面的 } }); require([ 'echarts','echarts/chart/map' ], function(ec) { // 基于原创 2015-01-27 20:28:49 · 4594 阅读 · 1 评论 -
extjs4.2 前端读取对象的方法
最近在学extjs,发现资料真是少,遇到问题百度半天都出不来,最后还是自己琢磨出来的..store = Ext.create('Ext.data.Store', { fields: ['id', 'account', 'name','departmentId','department','phone','createTime','flag'],//department.name是无效的原创 2014-12-19 11:12:45 · 981 阅读 · 0 评论 -
后台获取数据排序后在网页显示(Comparator)
效果:重点是右边的表格,class是Bootstrap 左边的图 --> 地区排行榜 总问题数排行 回答率排行 排行 城市 总问题数原创 2015-01-28 20:03:08 · 854 阅读 · 0 评论 -
完整的可按年份和月份查询数据并显示
效果:页面的数据准备: Map map = findresult(type, date); List list = statisticsService.StatisticsInterrogatelist(map); request.setAttribute("StatisticsResult", list);这里的JavaBean:public class原创 2015-01-29 20:35:46 · 2168 阅读 · 0 评论 -
UMEditor调整文本编辑器的组件位置的方法
貌似UMEditor是UEditor的简化版,但UEditor不支持谷歌内核!无奈选择UMEditor可是:这个表情模块太大了,还在那么右边,怎么调位置呢?UEditor在官方是有说明的,UMEditor没有,不过几乎完全一样,具体如下:找到umeditor.config.js 文件;搜索toolbar;原始版本:toolbar:[原创 2015-01-30 20:12:15 · 1519 阅读 · 0 评论 -
Ext.tree.TreePanel 对复选框的处理(Tree)
在Ext.tree.TreePanel中, listeners: { checkchange:function(node,checked){ if(checked&&myArrayyes.indexOf(node.raw.id)==-1){//没有 myArrayye原创 2014-12-22 22:20:59 · 1967 阅读 · 0 评论 -
UUID
UUID作用:让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。UUID组成:UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以 太网卡地址、纳秒级时间、芯片ID码和许多可能的数字UUID由以下几部分的组合:(1)当原创 2015-02-03 10:42:50 · 495 阅读 · 0 评论 -
UMEditor上传图片配置
配置从官网下载的方法,只需3步:找到下图文件,把2个.jar包导入(build path) 2.把上图的Uploader.java找个合适的地方(src下),如: 3.修改第一张图里的imageUp.jsp,导入第二步的路径原创 2015-02-02 10:46:46 · 1241 阅读 · 0 评论 -
HTML字符实体
HTML 实体在 HTML 中,某些字符是预留的。在 HTML 中不能使用小于号(),这是因为浏览器会误认为它们是标签。如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。字符实体类似这样:&entity_name;或者&#entity_number;如需显示小于号,我们必须这样写:<转载 2015-02-04 17:09:12 · 363 阅读 · 0 评论 -
ExtJs 入门 [表单:FormPanel]
Ext.onReady(function () { var form = new Ext.form.FormPanel({ frame: true, title: '表单标题', style: 'margin:10px', html: '转载 2014-12-12 16:51:10 · 691 阅读 · 0 评论 -
ExtJS4之helloworld
间添加Ext.onReady( //初始化页面时执行function(){ Ext.MessageBox.alert("提示","Hello ExtJS !");});ext-all.css需要resources里的内容resources:Ext UI资源文件目录,如Css 图片文件都存放在这里面.原创 2014-12-12 11:29:27 · 352 阅读 · 0 评论 -
ExtJs 入门 [窗体:Window组件]
之间: Ext.onReady(function () { var win = new Ext.Window({ title: '标题', width: 555, height: 444, ht转载 2014-12-12 16:20:29 · 427 阅读 · 0 评论 -
CSS3学习笔记
选择器选择器-介绍/*基础语法*/h1{ color: burlywood; font-size: 50px;}/*选择器分组*/h2,a{ color: #5a4bff;}/*继承 未被定义的生效*/body{ color: violet;}选择器-派生选择器/*派生选择器: 通过依据元素在其位置的上下文关系来定义样原创 2015-02-05 20:40:40 · 476 阅读 · 0 评论 -
JS学习笔记上
1.基础教程JavaScript介绍:1.JavaScript是互联网上最流行的脚本语言,这门语言可以用于web和HTML,更可广泛用于服务器,pc端,移动端.2.JavaScript脚本语言JavaScript是一种轻量级的编程语言JavaScript是可插入HTNL页面的编程代码JavaScript插入HTML页面后,可由所有浏览器执行JavaScript实原创 2015-02-06 21:01:17 · 439 阅读 · 0 评论 -
HTML5新特性基础学习笔记上
1.HTML5音频视频音频播放1.Audio(音频)HTML5提供了播放音频文件的标准2.control(控制器)control属性供添加播放,暂停和音量控件3.标签: 定义声音 规定多媒体资源,可以是多播放/暂停 浏览器不支持的时候显示--> 浏览器不支持的时候显示 var a =document.getElement原创 2015-02-08 15:31:47 · 612 阅读 · 0 评论 -
JS学习笔记下
8.DOM对象控制HTML元素详解DOM对象控制HTNL1.方法getElementsByName() --获取namegetElementsByTageName() --获取元素getAttribute() --获取元素属性setAttribute() --设置元素属性childNodes() --访问子节点parentNode() --访问父节点create原创 2015-02-07 16:50:26 · 425 阅读 · 0 评论 -
基于bootstrap的 按钮-隐藏 案例
实现的效果:应用于修改昵称,单击修改变成下面的界面并隐藏修改按钮,按取消会恢复代码: 昵称:${SESSION_USER.alias } 确定 取消 修改 js:原创 2015-01-22 13:02:24 · 6421 阅读 · 0 评论 -
jQuery Mobile基础 学习笔记
1.了解jQuery Mobile1.认识与下载jQuery Mobile认识jQuery Mobile1.jQuery Mobile: jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile给主流移动平台带来jQuery核心库.与jQuery核心库一样,您不需要安装任何东西;只需将*.js和*.css文件直接包含到您的web页面中即可原创 2015-02-16 16:51:26 · 999 阅读 · 0 评论 -
jQuery基础学习笔记(下)
8.jQuery的扩展与noConflict1.jQuery扩展 js2.js$.js2 = function () {//不常见 alert("HELLO JS2");};//$.fn1.js2 = function () {//必须是fn$.fn.js2 = function () { $(this).text("hello")原创 2015-02-14 16:01:37 · 375 阅读 · 0 评论 -
HTML5新特性基础学习笔记下
6.Web储存客户端储存数据1.两种方式 1):localStorage - 没有时间限制的数据存储 2):sessionStorage - 针对一个session的存储数据2.和cookie做对比 之前,这些都是由cookie完成的.但是cookie不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得cookie速度很慢而且效率也不高原创 2015-02-09 21:25:37 · 515 阅读 · 0 评论 -
基于JavaScript的在线语音识别库Julius
JuliusJS需要的文件有点多(不包括index.html和js.js):html:只需要引入julius.js说一些话这里显示你说的话(IE11测试不支持,Chrome支持)在IE11中测试没提示要麦克风,也没有效果,下图为谷歌内核js.jsvar julius = new Julius();//实例化julius.onrecognition = fu原创 2015-02-23 12:19:54 · 2651 阅读 · 0 评论 -
CreateJS基础 学习笔记(上)
1.CreateJS介绍了解CreateJS1.CreateJS: 一款HTML5游戏开发的引擎 CreateJS是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验.2.CreateJS中包含四款工具 EaselJS:用来处理HTML5的canvas T原创 2015-02-17 16:54:10 · 8584 阅读 · 1 评论 -
响应式布局学习笔记
1.响应式布局基础响应式布局介绍1.响应式布局 响应式布局是2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端--而不是为没个终端做一个特定的版本.这个概念是为了解决移动互联网而诞生的.其目的是为用户提供更加舒适的界面和很好的用户体验.2.优缺点: 优点:1):面对不同分辨率设备灵活性强 2):能够快捷解决多设备显示适原创 2015-02-10 11:58:42 · 551 阅读 · 0 评论 -
抓住那只喵(HTML5-神经猫)
1.使用createjs那只喵需要easeljs-0.7.1.min.jseaseljsDemo: var stage = new createjs.Stage("gameView");var gameView = new createjs.Container();stage.addChild(gameView);var s = new createjs.Sh原创 2015-02-22 13:55:08 · 1234 阅读 · 0 评论