自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 报错npm ERR! extraneous

安装不需要的软件包,可以清理掉,实际上只是一个警告,因此可以忽略。忽略这个错误可能是安全的。但是你可以用清理不必要的软件包。执行npm prune即可...

2018-12-27 14:00:22 601

原创 【ES6】对象的解构赋值

对象的解构赋值解构不仅可以用于数组(数组解构赋值),还可以用于对象。let { foo, bar } = { foo: "aaa", bar: "bbb" };foo // "aaa"bar // "bbb"对象的解构与数组的解构的区别:数组的元素是按次序排列的,变量的取值由他的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。let { bar, foo } ...

2018-12-22 17:22:25 242

原创 【ES6】数组解构赋值

1. 数组的解构赋值基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。// ES5let a = 1;let b = 2;let c = 3;// ES6let [a, b, c] = [1, 2, 3]本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。下面是一些使用嵌套数组...

2018-12-22 16:10:18 554

原创 【JSP】JSP页面使用sendRedirect重定向到另一个JSP页面时如何传参

response.sendRedirect ( ) 方法可以用来重定向一个URL,如果我们想要传递参数的话,可以使用 get 方法,在 URL 中添加参数。例如,我们要重定向到登录成功页面,需要传递的参数是登录 id。那我们可以这么来使用 sendRedirect():response.sendRedirect("loginsuccess.jsp?id=\"" + id + "\"");这...

2018-12-18 23:13:09 6330

原创 【MySQL】java.sql.SQLException: Before start of result set

问题Java 操作数据库时抛出异常:java.sql.SQLException: Before start of result set原因这个 Bug 是因为在取出 ResultSet 对象,对其进行操作时,没有采用 .next() 方法将 ResultSet 对象的光标移至指定行,不管 Statement 对象执行SQL语句是否十分确定能搜出记录,也不可以在没有 ResultSet 的...

2018-12-18 22:59:58 343

原创 【MySQL】ERROR 1366 (HY000): Incorrect string value: '\xE9\x83\x9D\xE7\x8E\x89...'

问题描述新建的表无法插入中文字符串:MySQL 插入数据时报错:ERROR 1366 (HY000): Incorrect string value: ‘\xE9\x83\x9D\xE7\x8E\x89…’ for column ‘Author’ at row 1原因数据表中的内容为latin1字符集,latin1字符集为8bit,这说明它是不能表示中文的,因此插入中文字符串时报错。解决...

2018-12-18 19:04:09 1899

原创 如何在idea中使用GitHub

GitHub 和 idea 都是写代码常用的工具,idea 支持直接连接 github 远程仓库。一 将项目同步到 GitHubidea 打开项目创建本地仓库,默认路径就是项目文件夹依次点击 VCS -> Import into Version Control -> Create Git Repository将项目提交到本地仓库,commit 须填写 Commit Mess...

2018-12-18 00:01:54 651

原创 Ubuntu 16.04搭建MySQL数据库并设置可远程访问

安装 MySQL# 更新源sudo apt-get update# 安装服务器端,安装过程中会要求输入 root 密码sudo apt-get install mysql-server# 安装客户端sudo apt-get install mysql-client# 查看是否安装成功sudo netstat -tap | grep mysql设置可远程访问修改配置文件# 将...

2018-12-17 23:30:09 393

原创 Idea运行web项目时抛出异常:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

错误描述:用 idea 运行 web 项目时无法连接数据库,状态码:500。看下面抛出的异常是:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver百度了一下,原因是 tomcat 找不到 MYSQL JAR 包。在java项目中,只需要引入mysql-connector-java-5.1.7-bin.jar就可以运行java...

2018-12-17 23:14:15 625

原创 idea报错 maven [ERROR] Maven execution terminated abnormally (exit code 1)

idea 新建 maven 项目时报错:[ERROR] Maven execution terminated abnormally (exit code 1)项目建成后没有框架。解决方案:参考博客:idea 报错maven原博中修改了很多默认设置,然后在新建项目时添加了一个 Maven Property。我没有修改设置,直接在建项目时添加了一个 Maven Property 就可...

2018-12-17 17:04:46 555

原创 【ES6】顶层对象的属性

顶层对象的属性顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象。ES5 之中,顶层对象的属性与全局变量是等价的。window.a = 1;a // 1a = 2;window.a // 2上面代码中,顶层对象的属性赋值与全局变量的赋值,是同一件事。顶层对象的属性与全局变量挂钩,被认为是 JavaScript 语言最大的设计败笔之一。这样的设计带来...

2018-12-15 17:14:37 205

原创 【ES6】const命令

基本用法const 声明一个只读的常量。一旦声明,常量的值就不能改变。const一旦声明变量,就必须立即初始化,不能留到以后赋值。const的作用域与let命令相同:只在声明所在的块级作用域内有效。const命令声明的常量也是不提升,同样存在暂时性死区(let命令详解中有暂时性死区的解释),只能在声明的位置后面使用。const声明的常量,也与let一样不可重复声明。const PI =...

2018-12-15 17:03:16 125

原创 【ES6】块级作用域与函数声明

块级作用域与函数声明ES5 规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。// 情况一if (true) { function f() {}}// 情况二try { function f() {}} catch(e) { // ...}上面两种函数声明,根据 ES5 的规定都是非法的。但是,浏览器没有遵守这个规定,为了兼容以前的旧代码,还...

2018-12-15 16:37:30 272

原创 【ES6】块级作用域

为什么需要块级作用域ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景:第一种场景,内层变量可能会覆盖外层变量。var tmp = new Date();function f() { console.log(tmp); if (false) { var tmp = 'hello world'; }}f(); // undefined上...

2018-12-15 16:35:40 153

原创 【ES6】let命令详解

let 命令ES6 新增了 let 命令,用来声明变量。用法类似于 var,但是所声明的变量,只在 let 命令所在的代码块内有效。{ let a = 10; var b = 5;}alert(a) // Uncaught ReferenceError: a is not definedalert(b)for 循环for 循环的计数器,很合适使用 let 命...

2018-12-15 15:46:07 378

原创 【ES6】Babel转码器及常用Babel工具

Babel 转码器Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。下面是一个例子。// 转码前input.map(item => item + 1);// 转码后input.map(function (item) { return item + 1...

2018-12-15 10:20:12 608

原创 JavaScript函数声明与函数表达式的区别

函数声明与函数表达式的区别函数声明与函数表达式定义函数看似相同,实际上在解析器向执行环境中加载数据时,解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问);至于函数表达式,则必须等到解析器执行到他所在的代码行,才会真正被解释执行。换句话说,就是通过函数声明定义的函数,可以在任何位置调用(声明前和声明后);而通过函数表达式定义的函数,只能在表达式之后调用,之前调用会报错(因为还没被...

2018-12-12 19:08:39 256

原创 JavaScript如何理解函数可以作为值

函数作为值因为 ES 中的函数名本身就是变量,所以函数也可以作为值来使用。也就是说,不仅可以像传递参数一样把一个函数传递给另一个函数,也可以将函数作为另一个函数的结果返回。理解上面的这段话是很有必要的,这两种方式都可以让我们更有效的解决一些特定的问题。1. 函数作为参数// 可以用来调用一个函数并给它传递一个参数,来获得第一个返回值。function callSomeFunction(s...

2018-12-12 19:06:23 320

原创 JavaScript中的方法(Function类型)

Function函数是 ES 中非常重要的一部分,函数实际上也是对象。每个函数都是 Function 类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会跟某个函数绑定。定义函数函数定义有三种方式:一 函数声明语法function sum(num1, num2) { return num1 + num2;}二 ...

2018-12-12 19:05:24 418

原创 CSS中多个class的优先级

在网页中为元素添加样式时,经常会用到多个 class 属性。那他们之间的优先级关系是怎样的呢:当一个元素指定多个 class 时,class 的优先级与指定顺序无关,而是和 class 的定义顺序有关。后声明的优先级高。比如一个按钮,我们写的通用属性是:.bt { border: 1px solid; border-radius: 5px; box-sizing: border-b...

2018-12-10 20:30:25 13477 2

原创 CSS解决border影响元素宽高的问题(box-sizing属性)

问题我们在用 CSS 进行页面布局时,经常会给元素指定宽高。在没有边框时(border为0)往往父元素的宽高是子元素宽高的和。但是在添加边框宽度后如果不调整元素宽度,会导致布局错乱。例如我们想要下面这样的效果:一个宽度为 600px 的父元素下有三个 200px 的子元素。可以这样实现:<body> <div class="container"> ...

2018-12-10 20:00:03 14098

原创 JavaScript中的RegExp类型

RegExpECMAScript 通过 RegExp 类型来支持正则表达式。创建 RegExp创建正则表达式语法:var expression = / pattern / flags ;其中的模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、向前查找及反向引用。每个正则表达式都可以带有一或多个标志(flags),用以标明正则表达式的行为。关于...

2018-12-07 18:34:09 193

原创 JavaScript数组的归并方法(reduce和reduceRight)

ES5 为数组增加了两个归并数组的方法:reduce( ) 和 reduceRight( ) 。这两个方法都会迭代数组的所有项,然后构建一个最终返回值。 其中 reduce 从第一项开始向后遍历,reduceRight( ) 则从最后一项开始向前遍历。这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值。传给这两个方法的函数接收四个参数:前一个值,当前值,项的索引...

2018-12-05 22:50:52 576

原创 JavaScript数组的迭代方法(every、filter、forEach、map和some)

ES5 中为数组定义了 5 个迭代方法。每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响 this 的值。传入这些方法中的函数接收三个参数:数组项的值、该项在数组中的位置(索引)和数组对象本身。这 5 个方法都不会修改原数组中包含的值。every ( ) 和 some ( )every ( ) 和 some ( ) 是一对功能比较相近的函数,他们用...

2018-12-05 16:27:36 289

原创 JavaScript数组的位置方法(indexOf和lastIndexOf)

数组类型有两个位置方法:indexOf和lastIndexOf。这两个方法都接收两个参数,要查找的项和(可选的)表示查找起点位置的索引。 indexOf 方法从数组开头(位置0)开始向后查找,lastIndexOf 方法则是从数组末尾向前查找。这两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回 -1。在比较第一个参数与数组中的每一项时,使用全等操作符(===)。例如:var ...

2018-12-04 15:43:44 1223

原创 JavaScript数组的操作方法(concat、slice和splice)

ECMAScript 为操作数组中的项提供了很多方法,其中最常用的有:concat( ) 、slice( ) 和 splice( ) 。concat ( )concat ( ) 方法可以基于当前数组中的项创建一个新的数组。具体来说,这个方法会先创建一个当前数组的副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给它传参的情况下,它仅复制当前的数组并返回副本。如果给它...

2018-12-03 22:52:58 331

原创 JavaScript中数组(Array)的排序方法(reverse和sort)

数组中已经存在有两个可以直接使用的排序方法:reverse()和 sort()这两个方法的返回值都是经过重排序之后的数组reverse ( )reverse( ) 方法的作用很简单,就是反转数组的顺序。var colors = new Array("red", "blue", "green");var count = colors.unshift("black&

2018-12-03 21:42:41 727

sbc-1.4.zip

蓝牙音频协议中的sbc协议的官方源码,版本为sbc-1.4版本。c语音。 编译运行:./configure --prefix=/usr --disable-static --disable-tester && make

2020-06-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除