10 2017 档案
摘要:List to Array List 提供了toArray的接口,所以可以直接调用转为object型数组 上述方法存在强制转换时会抛异常,下面此种方式更推荐:可以指定类型 Array to List 最简单的方法似乎是这样 解决方案: 1、运用ArrayList的构造方法是目前来说最完美的作法,代码
阅读全文
摘要:1、String 相等 稍微有点经验的程序员都会用equals比较而不是用 ==,但用equals就真的安全了吗,看下面的代码 因此更为稳妥的方法可以采用jdk Objects类中的equals方法,左右两边都可以避免空指针异常 2、Integer 比较 令人惊讶的是结果并不是预料中的全是true,
阅读全文
摘要:java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点。 先初始化一个map: keySet values 如果只需要map的key或者value,用map的keySet或values方法
阅读全文
摘要:一、for,for each和iterator用法和区别: 相同点: 三个都可以用来遍历数组和集合 不同点: 1、形式差别 2、条件差别: for需要知道集合或数组的大小,而且需要是有序的,不然无法遍历; foreach和iterator都不需要知道集合或数组的大小,他们都是得到集合内的每个元素然后
阅读全文
摘要:简介 迭代器是遍历容器的一种常用方法,它屏蔽了容器的实现细节,无需暴露数据结构内部,就可以对容器进行遍历,迭代器本身也是一种设计模式,迭代是一种特殊的遍历方式。 Iterator 在java中,迭代器接口Iterator定义了三种方法 remove方法是移除迭代器返回的最后一个元素,因此如果没有调用
阅读全文
摘要:有时需要获取图片的尺寸,这需要在图片加载完成以后才可以。有三种方式实现,下面一一介绍。 一、load事件 测试,所有浏览器都显示出了“loaded”,说明所有浏览器都支持img的load事件。 二、img的complete属性 轮询不断监测img的complete属性,如果为true则表明图片已经加
阅读全文
摘要:一、变量作为字符动态呈现 CSS var变量(CSS自定义属性)很好用,然而有时候,需要这些变量能够同时作为字符在页面中呈现,我们想到的是使用::before/::after伪元素配合content属性,但是,把CSS变量直接作为content属性值是没有任何效果的。那该如何呈现呢? /* 无效 *
阅读全文
摘要:XMLHttpRequest 是一个浏览器接口,通过它,我们可以使得 Javascript 进行 HTTP (S) 通信。XMLHttpRequest 在现代浏览器中是一种常用的前后台交互数据的方式。2008年 2 月,XMLHttpRequest Level 2 草案提出来了,相对于上一代,它有一
阅读全文
摘要:1、方法的参数设置默认值,目前 Java 不支持这种写法,只能自己去变种实现 2、SpringBoot @Value 设置默认值 SpringBoot如果我们使用了@Value来从配置文件读取值, 如果配置文件中没有这个配置项,就会报错:Could not resolve placeholder '
阅读全文
摘要:本文分为三个部分: 1、JS 数字精度丢失的一些典型问题(前端遇小数计算概率大,要有这个精度丢失的意识) 2、JS 数字精度丢失的原因(计算机用二进制存储数据,由于存储位置的限制有时会存在“舍去”。当模仿十进制进行四舍五入时,0舍1入,造成误差) 3、解决方案(一个对象+一个函数)(解决方案:把小数
阅读全文
摘要:一、引子: 以上第二句 a.x = a = {n:2} 是一个连续赋值表达式。这个连续赋值表达式在引擎内部究竟发生了什么?是如何解释的? 二、猜想 猜想1:从左到右赋值,a.x 先赋值为{n:2},但随后 a 赋值为 {n:2},即 a 被重写了,值为 {n:2},新的 a 没有 x属性,因此为un
阅读全文
摘要:一、导致的问题介绍 动态生成分享卡片的时候,卡片底部的小程序码丢失了,然而其他小伙伴在自己手机上运行正常。事实上除了这条动态以外,其它都是正常的。 先交代一下项目背景,这是一个微信小程序项目,其中生成分享卡片功能用到的是一个叫 wxml2canvas 的库,然而该库目前看上去已经「年久失修」,上面所
阅读全文
摘要:大家需要明确的是,生命周期函数与 useEffect 是不同的。 一、概念 useEffect 可以让使用者在函数组件中执行副作用操作。那什么是副作用操作呢? 在 React 中,由 state 的变化导致 UI 发生变化的过程是正常操作,其他操作行为:例如数据请求、直接手动修改 DOM 节点、直接
阅读全文
摘要:什么是 requireJS ? requireJS 是用JavaScript编写的JS框架,主要功能是可以按不同的先后依赖关系对 JavaScript 等文件的进行加载工作,可简单理解为JS文件的加载器,它非常适合在浏览器中使用,它可以确保所依赖的JS文件加载完成之后再加载当前的JS文件,这在大量使
阅读全文
摘要:AMD 基于commonJS规范的nodeJS出来以后,服务端的模块概念已经形成,很自然地,大家就想要客户端模块。而且最好两者能够兼容,一个模块不用修改,在服务器和浏览器都可以运行。但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器环境。还是上面的代码,如果在浏览器中运行,会有一个很大
阅读全文
摘要:CommonJS 一开始大家都认为JS是辣鸡,没什么用,官方定义的API只能构建基于浏览器的应用程序,CommonJS就按耐不住了,CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python,Ruby和Java标准库。
阅读全文
摘要:有必要简单提一下两者的主要区别: 1、CMD推崇依赖就近,可以把依赖写进你的代码中的任意一行,例: 代码在运行时,首先是不知道依赖的,需要遍历所有的require关键字,找出后面的依赖。具体做法是将function toString后,用正则匹配出require关键字后面的依赖。显然,这是一种牺牲性
阅读全文
摘要:一、利用iframe实现pdf预览 1、实现过程:将pdf路径设置给iframe的src属性 <iframe :src="pdfUrl" frameBorder="0"></iframe> 2、遇到的问题 电脑上测试正常,但是安卓端会出现空白页和直接跳转下载的现象,解决思路:想着用pdf.js,然后
阅读全文
摘要:1、应用背景 公司代码提供给第三方使用,为了不完全泄露源码,需要对给出的代码进行加密混淆,前端代码虽然无法做到完全加密混淆,但是使用 webpack-obfuscator 插件通过增加随机废代码段、字符编码转义等方法可以使构建代码完全混淆,达到无法恢复源码甚至无法阅读的目的。 2、webpack 相
阅读全文
摘要:一、问题背景 跨域种cookie的问题就是,比如a.123.com跨域访问b.123.com/request,b.123.com服务器使用nginx允许跨域,Access-Control-Allow-Origin:* 如果a、b服务不在同一个服务器,前台页面请求报错信息为: Access to XM
阅读全文
摘要:一、Promise.prototype.catch()方法是用于指定发生错误时的回调函数 getJSON('/posts.json').then(function(posts) { // ... }).catch(function(error) { // 处理 getJSON 和 前一个回调函数运行
阅读全文
摘要:一、ProgressEvent 介绍 ProgressEvent 接口是测量如 HTTP 请求(一个XMLHttpRequest,或者一个 <img>,<audio>,<video>,<style> 或 <link> 等底层资源的加载)等底层流程进度的事件。 1、构造方法:ProgressEvent
阅读全文
摘要:1、ArrayList的toArray ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法: (1)list.toArray(); (2)list.toArray(T[] a); 对于第一个重载方法,是将list直接转为Object[]
阅读全文
摘要:描述:重复输出一个给定的字符串(str第一个参数)n 次 (num第二个参数),如果第二个参数num不是正数的时候,返回空字符串。 思路:我将介绍三种方法: 方法1:通过 `while` 循环重复输出一个字符串 不过这里还可以有几个变种:对于老前端来说,首先一个可能会将字符串拼接,修改为 数组joi
阅读全文
摘要:一、问题背景 发现有个布尔类型的参数,不传时总会报空指针,奇怪,后来发现原因 MyBatis 的 @Param 用的 boolean 接参的,如:@Param("vip") boolean vip 需要改成这样即可:@Param("vip") Boolean vip 二、原因解析 Java 中的布尔
阅读全文
摘要:一、text-align-last 段落最后一行设置对齐方式 text-align-last 属性规定如何对齐文本的最后一行。 注意:text-align-last 属性只有在 text-align 属性设置为 "justify" 时才起作用。 详见:text-align-last 属性 遇到问题:
阅读全文
摘要:1、List<实体>数据: public List<Device> queryOSDevice(String cpu,String ip,String name){ String sql = null; if(cpu.equals("os_xp")){ sql = "from "+this.claz
阅读全文
摘要:正确写法: @Override @SuppressWarnings("unchecked") public List<Device> queryOSDevice(String cpu){ String sql = null; if(cpu.equals("os_xp")){ sql = "from
阅读全文
摘要:ECMAScript将对象的属性分为两种:数据属性和访问器属性。每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以理解为:是否可枚举。然后根据具体的上下文环境的不同,我们又可以将属性分为:原型属性和实例属性。原型属
阅读全文
摘要:默认情况下,JavaScript 中的对象是可变的。我们可以更改原始值(字符串,数字等)和对象。我们来看看这个对象: 你可以轻松地改变它: 非常明确是吧?那么,我们有什么办法使对象不可变呢? 1、让我们试用 const ! 很好的尝试,但是不起作用。如果你尝试一下,你会发现:这种办法根本就不起作用。
阅读全文
摘要:两种类型的表格布局 你有两种方式使用表格布局 -HTML Table(<table>标签)和CSS Table(display:table 等相关属性)。 HTML Table是指使用原生的<table>标签,而CSS Table是指用CSS属性模仿HTML 表格的模型。 在W3C关于<table>
阅读全文
摘要:一、px、em、rem 介绍 1、PX:px像素(Pixel):相对长度单位。像素px是相对于显示器屏幕分辨率而言的 2、EM:em是相对长度单位,相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。 EM特点:(1)em的值并不是固定的(2)em会
阅读全文
摘要:一、param() 方法创建数组或对象的序列化表示。 该序列化值可在进行 AJAX 请求时在 URL 查询字符串中使用。 语法: jQuery.param(object,traditional) object要进行序列化的数组或对象 traditional规定是否使用传统的方式浅层进行序列化(参数序
阅读全文
摘要:数组类型参数传递: 若一个请求中包含多个值,如:(test.action?tid=1&tid=2&tid=3),参数都是同一个,只是指定多个值,这样请求时后台会发生解析错误,应先使用 tradititonal 格式化: 起初我认为traditional:true,可有可无,但是后来不用traditi
阅读全文
摘要:定义:用本地特定的顺序来比较两个字符串。 语法:stringObject.localeCompare(target) 参数:target——要以本地特定的顺序与 stringObject 进行比较的字符串。 返回值:说明比较结果的数字。 (1)如果 stringObject 小于 target,则
阅读全文
摘要:本文重点是来讲讲jQuery中调用ajax的4种方法:$.get、$.post、$getJSON、$ajax。 1、$.get $.get()方法使用GET方式来进行异步请求,它的语法结构为:$.get( url [, data] [, callback] ) 解释一下这个函数的各个参数: url:
阅读全文
摘要:1、需求背景 很多时候,我们使用jquery.ajax的方式向后台发送请求,型如 这种代码太常见了,这个时候我们有这样一个需求:在自己调用ajax请求的时候,我们不想每次都写error:function(e){}这种代码,但是我们又想让它每次都将ajax的错误信息输出到浏览器让用户能够看到。怎么办呢
阅读全文
摘要:场景:父元素 高度固定,如何使其中的文字垂直居中? 1、table布局: 利用display:table+display:table-cell的方法 效果: 利用display:table-cell 效果: 优点:等高布局,无需设置高度,文字轻松实现垂直居中 缺点:ie7以下不兼容! 2、利用lin
阅读全文
摘要:一、like 操作符 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 1、基本语法:% 表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示 // 从 “Persons” 表中选取居住在以 “N” 开始的城市里的人 SELECT * F
阅读全文
摘要:在提交上传文件之前:<script type="text/javascript">window.parent.setMessage('success')</script>,是不会有的。 其中window.parent就表示隐藏的iframe的父级,在父级里面去调用setMessage函数。当然你这个
阅读全文
摘要:一、HTML download 与文件下载 如果希望在前端侧直接触发某些资源的下载,最方便快捷的方法就是使用HTML5原生的download属性,例如: <a href="large.jpg" download>下载</a> 但显然,如果纯粹利用HTML属性来实现文件的下载(而不是浏览器打开或浏览)
阅读全文
摘要:一、利用JSONP: 首先来看看在页面中如何使用jQuery的ajax解决跨域问题的简单版: 这样写是完全没有问题的,起先error的处理函数中仅仅是alert(“error”),为了进一步弄清楚是什么原因造成了错误,故将处理函数变为上面的实现方式。最后一行alert反馈parsererror问题。
阅读全文
摘要:一、Object.is() 1、缘起 ES5比较两个运算符是否相等,有两种运算符:相等运算符和严格相等运算符。 缺点:前者会自动转数据类型,后者的NaN不等于自身,以及+0等于-0。 所以缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等。 ES6 提出“Same-value equal
阅读全文
摘要:一、介绍 URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串。目前兼容性只有IE不支持,其他都已经支持。 具体内容见 MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/URLSearchParams 需要注意的
阅读全文
摘要:border-radius,国内翻译成圆角,你可能以为这个属性就是用来画圆角,没错,但是除此之外,它还可以做点别的事情。 radius其实指的是边框所在圆的半径,这个CSS3属性不仅能够创建圆角,还可以创建椭圆角(如下图),把这些角按照不同的顺序和大小来展现,能够绘制成多种多样的图形。以下图例就是通
阅读全文
摘要:一、算法 算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢? 主要还是从算法所占用的「时间」和「空间」两个维度去考量。 1、时间维度:
阅读全文
摘要:一、获取父窗口元素: $("#父窗口元素ID",window.parent.document);对应javascript版本为window.parent.document.getElementById("父窗口元素ID"); 取父窗口的元素方法:$(selector, window.parent.d
阅读全文
摘要:getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的
阅读全文