ES6入门系列
未读1. 正则的扩展
参数为字符串, 那么第二个参数表示正则表达式的修饰符,如下:
var regex = new RegExp('xyz', 'i')
// 等价于
var regex = /xyz/i
参数为一个正则表达式,这时返回一个原有正则表达式的拷贝。如下:
var regex = new RegExp(/xyz/i)
// 等价于
var regex = /xyz/i
Es6中改变了这种行文。如果RegExp构造函数第一个参数是正则对象,那第二个参数可以指定修饰符,并且返回的正则表达式会忽略原有正则表达式的修饰符,只使用新指定的修饰符。 如下:
new RegExp(/abc/ig, 'i').flags
// 原有的ig 被 i 覆盖
2. 字符串的正则方法
字符串对象共有4个方法,可以使用正则表达式: match()、 replace()、search() 和 split()。在Es6中 全部调用RegExp的实例方法,全部定义在RegExp对象上。如下:
String.prototype ...
ES6入门系列
未读1. 字符的 Unicode 表示法
Javascript 中允许采用 \uxxxx的形式表示一个字符,其中xxxx表示字符的Unicode码点。如下
"\u0061"
这种 表示有区间 只能在 0000 ~ FFFF之间,如果超出则需要用双字节的的形式表示
"\u20BB7\uDFB1"
在ES6中,对字符串的写法做出了改变。改为将码点放入大括号中,就能正确读取该字符,如下:
"\u{20BB7}" // 吉
2. codePointAt()
Javascript内部,字符以 UTF-16的格式存储,每个字符固定为2个字节。对于需要4个字节储存的字符,JavaScript会认为它们是两个字符。如下:
1234567var s = "吉"s.length // 2s.charAt(0) // ''s.charAt(1) // ''s.charCodeAt(0) // 55362s.charCodeAt(1) // 57271
...
Python系列
未读1. 数据类型
计算机能够处理的各种数值以及文本、图形、音频等。
1.1 整数
python 可以处理任意大小的整数、负整数,写法和数学上一致,但是有的时候可能用十六进制来展示
1 , 100,-8080 // 十进制
0xff00, 0xa5b4 // 十六进制用0x前缀和0-9,a-f表示
1.2 浮点数
浮点数也就是小数,之所以成为浮点数,是因为浮点数的小数点是可变的。浮点数可以用数学写法如:1.23, 如果很大或者很小的浮点数,就需要用科学计数法表示,把10 用 e 来代替。整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数可能会四舍五入。
1.3 字符串
字符串是以单引号 或者 双引号 包裹起来的文本。
1.4 布尔值
布尔值和布尔代数的表示完全一致,只有 true flase 两种值,在python 中可以直接用 True False 表示布尔值(注意大小写),也可以通过布尔运算计算出来,布尔值可以通过 and 、 or 、not 运算
1.5 空值
python 中一个特殊的值,用 None表示,但是不能理解为0,None是一个特殊的 ...
ES6入门系列
未读1.数组的解构赋值
基本用法
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。
在ES6之前想要为变量赋值,只能指定其值,如下:
let a = 1;
let b = 2
而在ES6中可以写成这样,如下:
let [a,b] = [1,2]
// a = 1, b = 2
值得注意的是,等式两边的值要对等,这样左边的变量才会被赋上右边对应的值,如果不对等左边的值将会出现undefined,如下写法:
let [foo,[[bar],baz]] = [1,[[2],3]]
foo // 1
bar // 2
baz // 3
注意:只有左右两边的 格式一定要对等,数量可以不对等。
let [a,b,c] = [1,2]
a = 1, b = 2, c = undefined
let [a,,c] = [1,2,3]
a = 1, c = 3
let [a, ...b] = [1,2,3]
a = 1, b = [2,3]
let [a] = []
let [b,a] = [1]
a = undefined
还有一种情况,等号左边为数组,但是 ...
ES6入门系列
未读一、前提1解决ES5中只有全局作用域和函数作用域,没有块级作用域而带来的不合理的场景。
let
基本用法用法和var 一样,只是let声明的变量只有在let命令所在的代码块有效
1234567{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1
可以看出var 声明的变量在代码块之外也是可以调用,而let声明的则调用报错。所以let 声明只在它声明的当前代码块中才能调用。
变量提升在使用 var 的时候会出现 “变量提升”的现象,即变量可以在声明之前使用,值为undefined。let 改变了这种现状,但是必须先声明在使用,如果在声明之前使用则会出现报错。如下:
1234567// var 的情况console.log(foo); // 输出undefinedvar foo = 2;// let 的情况console.log(bar); // 报错ReferenceErrorlet bar = 2;
暂时性死区只要块级作用域内部存在 let 或者 const 命令,它所声明的 ...
1. 什么是BFC?
BFC(块格式上下文), 在css中渲染页面是按照块级盒子布局,W3C对于BFC的定义如下:
浮动元素和绝对定位元素,非块级盒子的块级容器,
以及overflow值不为 visiable 的块级盒子,都会为他们的内容创建新的BFC
2. BFC的作用1. 不和浮动元素重叠
2. 清除元素内部浮动
3. 防止margin重叠
3. BFC的形成条件1. float的值不能为none
2. overflow的值不能为visible
3. display的值为table-cell, table-caption, inline-block中的任何一个
4. position的值不为relative和static
目录
语言无关
IDE
MySQL
NoSQL
PostgreSQL
Web
WEB服务器
其它
函数式概念
分布式系统
在线教育
大数据
操作系统
数据库
智能系统
正则表达式
版本控制
程序员杂谈
管理和监控
编程艺术
编译原理
编辑器
计算机图形学
设计模式
软件开发方法
项目相关
语言相关
Android
AWK
C
C#
C++
CoffeeScript
Dart
Elasticsearch
Elixir
Erlang
Fortran
Golang
Haskell
HTML / CSS
HTTP
iOS
Java
JavaScript
LaTeX
LISP
Lua
Markdown
Node.js
Perl
PHP
Python
Django
R
reStructuredText
Ruby
Rust
Scala
Scheme
Scratch
Shell
Swift
Vim
Visual Prolog
语言无关IDE
IntelliJ IDEA 简体中文专题教程
MySQL
21分钟MySQL入门教程
MySQL索引背后的数据结构及算法原理
...
1、concat()1234567concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个副本。var arr1 = [1,2,3];var arr2 = [4,5];var arr3 = arr1.concat(arr2);console.log(arr1); //[1, 2, 3]console.log(arr3); //[1, 2, 3, 4, 5]
2、join()12345join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用','号分割,不改变原数组。var arr = [2,3,4];console.log(arr.join()); //2,3,4console.log(arr); //[2, 3, 4]
3、push()12345678push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,会改变原数组。var a = [2,3,4];var b = a.push(5);console.log(a); //[2,3,4,5]con ...
一、 JS数组,字符串,json互相转换1.JS数组转字符串1234567891011121314151617使用数组自带的join方法可以把数组转化为字符串: let arr = [1,2,'uu']; let str = arr.join(','); console.log(str); // 1,2,uu如果素组元素包含对象,则调用对象的toString()方法将对象转化为字符串。 class C { // 自定义类C,以及自定义toString()方法 toString() { return 'class C'; } } let cc = new C(); // C的实例 let arr = [{a: 1}, cc, [3,4,[5,5]], 5]; let str = arr.join('---'); console.log(str); // [object Object]---class C---3 ...
Coding
未读html12345678910<div class="menu"> <ul> <li>你好啊</li> <li>我的名字叫</li> <li>Pte Lundde</li> <li>很高兴认识你哦</li> <li>希望</li> <li>你能成为我的朋友</li> </ul></div>
css123456789101112131415161718192021222324252627282930.menu ul{ height: 30px; width: auto; line-height: 30px;}.menu ul li{ position: relative; float: left; display: inline-block; padding:0 30px; he ...