在浏览器中,使用 window.btoa() 将字符串或二进制值转化为 Base64 编码,使用 window.atob() 还原。
|
|
注意,要将非 ASCII 编码字符转化为 Base64 编码的话,需要先进行转码,否则会报错
|
|
在浏览器中,使用 window.btoa() 将字符串或二进制值转化为 Base64 编码,使用 window.atob() 还原。
|
|
注意,要将非 ASCII 编码字符转化为 Base64 编码的话,需要先进行转码,否则会报错
|
|
viewport 可以控制页面的原始宽度,限制用户的缩放行为。
|
|
width: 控制 viewport 的宽度,可指定为数字如 800,或特殊值如 device-width,即设置为 100%。
height: 控制 viewport 的高度。
initial-scale: 页面第一次加载时的缩放比例。
maximum-scale: 最大缩放比例,取值从 0 到 10。
minimum-scale: 最小缩放比例,取值从 0 到 10。
user-scaleble: 是否允许用户缩放,取值为 yes/true 或 no/false。
要吸取别人的经验,要产出自己的总结。— 菲利克斯·小赖
工作比较忙,但时时要提醒自己,保持对行业资讯的敏感度,业余时间多学习一些对自己成长有益的技能,最好是通过文章产出的方式,和业界交流。
笨鸟先飞,越飞越高。
|
|
moment.js 是一个专注于处理时间的工具库。
先来几个栗子:
// \b 表示匹配一个位置:单词开头或结尾
\bhi\b //=> hi
// . 匹配除换行符以外的任意字符
// * 匹配多次
// .* 匹配任意数量的不包含换行的字符
\bhi\b.*\bLucy\b //=> hi i love you Lucy
// \d 匹配一位数字
// {2} 匹配2次
0\d{2}-\d{8} //=> 086-13800138000
// \s 匹配任意的空白符,包括空格、制表符、换行符、中文全角空格
// \w 匹配字母或数字或下划线或汉字
\ba\w*\b //=> ahdh256hvc
// + 匹配一次或多次,注意与 * 的区别(匹配多次)
// \d+ 匹配1个或多个连续的数字
\d+ //=> 4 或 465435
\d* //=> 465435
// ^ 匹配字符串的开始
// $ 匹配字符串的结束
^\d{5,12}$ //=> 匹配5-12位的数字
// [] 匹配里边的值
[aeiou] //=> 匹配 a e i o u
[0-9] //=> 与 \d 同义
// | 表示分支
0\d{2}-\d{}8|0\d{3}-\d{7} => 匹配 010-12345678 或 0102-1234567
// () 表示分组
(\d{1,3}\.){3}\d{1,3} //=> 匹配一个IP,如 12.345.67.89
// 以上会匹配不合法的IP,如 256.777.888.999
// 大写字母 或 [^xxxx] 表示反义
\S+ //=> 匹配不包含空白符的字符串
<lai[^>]+> //=> 匹配 <laispace>
// (?=exp) 零宽度正预测先行断言,即自身出现的位置后面能匹配 exp
\b\w+(?=ing\b) //=> 查找 I'm reading a book 时匹配 read
// (?<=exp)零宽度正回顾后发断言,即自身出现的位置前面能匹配 exp
(?<=\bre)\w+ //=> 查找 I'm reading a book 时匹配 ading
// (?!exp)负向零宽断言,即此位置的后面不能匹配 exp
\d{3}(?!\d) //=> 匹配三个数字,但这三个数字后不能是数字,如 123abcd
// (?<!exp)零宽度负回顾后发断言,即此位置的前面不能匹配 exp
(?<![a-z])\d{7} //=> 匹配前面不是小写字母的七位数字
单行注释
## This is a comment.
多行注释
#*
This is a mutil-line comment
This is a mutil-line comment
This is a mutil-line comment
*#
变量
<div>
#set ( $name = 'xiaolai')
Hello $name !
</div>
属性
$person.Name
方法
$person.getName()
$person.setName('xiaolai')
## 注意 $person.getName() 等同于 $person.Name
使用 $ sudo npm update -g 报错,清除 npm 缓存 或者在 nodejs.org 的官网下载最新版重装后,还是报错。
解决办法是,执行:
// 使当前用户拥有 /usr/local/lib/node_modules 目录的权限
$ sudo chown -R $USER /usr/local/lib/node_modules
然后再执行更新就不会报错了:
$ npm update -g
让普通用户拥有 npm 的全局权限,即可以不用在 install 或 update 时加上 sudo:
// 使当前用户拥有 /usr/local 目录的权限
$ sudo chown -R $USER /usr/local
// 然后就可以直接全局安装/更新一些包了
$ npm install -g xxx
$ npm update -g
underscore.js 提供了一系列工具函数,而 lodash.js 可以认为是 underscore.js 的一个超集。
简单示例:
|
|