66beta's Blog

  • 首页

  • 分类

  • 归档

Javascript中获取日期要注意时区

发表于 2018-09-03 | 更新于 2018-09-20 | 分类于 前端

记一个无知与粗心引发的BUG

需要获取当前日期,格式为2018-09-03,于是想当然地写了:

1
2
new Date().toJSON() // "2018-09-03T07:52:51.903Z"
new Date().toJSON().slice(0, 10) // "2018-09-03"

如果不熟悉Date对象的方法,这里就有个天坑了,toJSON()方法获取的是格林尼治标准时间(UTC),中国时区是东八区领先8小时,即平时很多地方看到的+0800。

阅读全文 »

ES5多行模板

发表于 2018-08-03 | 分类于 前端

ES6开始有了模板,很方便。即使面对ES5环境,也可以用Babel转换做兼容。

但是有时候一些老项目,没办法大改项目架构,只能手动支持ES5。

废话少说,show me the code:

1
2
3
4
5
6
7
8
9
var template = (function () {/*
<div>
<input type="text" name="username" value="{{username}}">
</div>
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];

// 结合模板引擎使用
Mustache.parse(template);
$('body').append(Mustache.render(_template, {username: 'Jack'}));

《你不知道的JS(上)》学习笔记 第二部分

发表于 2018-06-24 | 更新于 2018-06-14 | 分类于 前端

关于this

在函数被调用时建立的一个绑定,它指向 什么 是完全由函数被调用的调用位置来决定的。

call绑定

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function identify() {
return this.name.toUpperCase();
}
function speak() {
var greeting = "Hello, I'm " + identify.call( this );
console.log( greeting );
}
var me = { name: "Kyle" };
var you = { name: "Reader" };

identify.call( me ); // KYLE
identify.call( you ); // READER

speak.call( me ); // Hello, I'm KYLE
speak.call( you ); // Hello, I'm READER
阅读全文 »

brew upgrade 升级把我的node环境给搞坏了

发表于 2018-06-07 | 更新于 2018-06-13 | 分类于 前端

起因:sourcetree 提示升级,点了 update,可惜公司网络太挫升级不了。脑抽想到brew好久没更新了,于是brew update,哦哟!确实好多可以升级的。随即开上代理并brew upgrade,一阵升级好痛快!

升级完毕,愉快得打开vscode并yarn dev,报错了…

vscode 终端每次加载都会提示nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local"

阅读全文 »

《你不知道的JS(上)》学习笔记 第一部分

发表于 2018-05-24 | 更新于 2018-06-13 | 分类于 前端

内建类型

  • string
  • nubmer
  • boolean
  • undefined
  • object (包括null)
  • symbol (ES6+)

类型转换

Truthy&Falsy

  • Boolean(NaN) === false
  • Boolean([]) === true
  • Boolean({}) === true

等价

1
2
3
4
5
6
7
8
9
var a = [1,2,3]
var b = [1,2,3]
var c = "1,2,3"

a == c // true
b == c // true
a == b // false

[1,2,3].toString() // "1,2,3"

不等价

1
2
3
4
5
6
7
8
var a = 42
var b = "foo"

a < b // false
a > b // false
a == b // false

Number("foo") // NaN

NaN既不大于其他值,也不小于其他值

阅读全文 »

JS 笔记

发表于 2018-01-10 | 更新于 2018-01-11 | 分类于 前端

记录js的知识点、跳坑指南。

声明提升(Hosing)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
a();
var a = 2;
function a(){
console.log(1);
}
a();
/* 结果
1
Uncaught TypeError: foo is not a function
*/

// 实际执行时的代码
var foo; // 声明提升
function foo(){ // 声明提升
console.log(1);
}
foo();
foo = 0; // 初始化赋值不提升
foo(); // 出错,此时 foo 是 0
阅读全文 »

重拾 Docker

发表于 2018-01-05 | 更新于 2018-01-08 | 分类于 nodejs

Nice to meet U, I’m Docker

Docker刚出来那会儿,还是粗暴地一个virtualbox+系统镜像的分发方式,后来有了katematic,再后来有了docker-tools。

一年不见,docker变化真大,最近有项目上nodejs,正好重新认识一下docker。

阅读全文 »

为Bootstrap忽略sublimelinter htmltidy的空标签提示

发表于 2015-08-03 | 更新于 2018-01-10 | 分类于 其他

找到Sublimelinter的对应配置(Windows),Preferences > Package Settings > SublimeLinter > Settings User,针对htmltidy添加设置:

1
2
3
"htmltidy": {
"ignore_match": ["trimming empty <span>"]
}

添加以上设置后,用Bootstrap的时候就不会提示空<span>了

VPS极简初始化配置

发表于 2014-12-11 | 更新于 2018-01-10 | 分类于 其他

最近电信网络半瘫,一直在寻觅网速过得去的VPS。之前的DigitalOcean无论哪个节点都卡成翔了,刚换搬瓦工,一次性买了一年。好久不弄,基本的设置都忘了,有些一时没想到,有些忘记了还要问Google。记录下来,以防下回再“搬家”。

阅读全文 »

如何在Linux终端中删除中文文件夹

发表于 2014-08-11 | 更新于 2018-01-10 | 分类于 其他

为了方便,在Windows下直接复制了一个文件夹,系统默认为“ABC - 副本”。没太在意,给就丢到Linux服务器上去了。结果在终端里,连名字都是显示不了,更不要说用rm删除了。

阅读全文 »
12

66beta

66 rabbits lying on the ground, even on the cloudy day!

18 日志
4 分类
16 标签
GitHub E-Mail
© 2018 66beta
由 Hexo 强力驱动 v3.4.4
|
主题 – NexT.Pisces v6.4.1