Hegwin.Me

朱雀桥边野草花,乌衣巷口夕阳斜。

学习ES2015 Part 4

Learn New Features in ES 2015 Part 4

# Object 新特性 ## Shorthand语法 ES2015有这么一个语法糖,新生成一个Object时,当键名与变量名相同时,可以有一个简略的写法。具体怎么写,看下面的例子。 过去,我们需要这样写: ```js function buildUser(first, last) { var fullName = first + ' ' + last; ...

学习ES2015 Part 3

Learn New Features in ES 2015 Part 3

# Array 新特性 ## Array Destructing 感觉这也是从Ruby或者类似的语言学习过来的方法,在ES5,我们没有办法直接把数组的各个值一次性赋给多个变量,而现在我们可以了,假设我们有这么一个数组: ```js let users = [ 'Hegwin', 'Jason', 'Ken' ]; ``` 如果我们想直接把`users`的三个元素依...

学习ES2015 Part 2

Learn New Features in ES 2015 Part 2

# String ES2015中加入了Template String的概念,当我们想要把变量值拼接到字符串中间时,终于不需要不停地的使用`+`了,这也是我觉得可以欢呼的地方。 具体是这样操作的:JS里普通那个的字符串依旧是用单引号或者双引号包围,但是Template String则用反引号包围(感觉在Markdown里打个反引号真要命)。 过去: ``` let fu...

学习ES2015 Part 1

Learn New Features in ES 2015 Part 1

# 变量声明 ## Using `let` * 终于不再有`var`神奇的hoisting了,可以声明块级的变量了 (欢呼) * 解决for中变量泄漏的问题 * 同一block中,let声明的变量可以重新赋值,但再次声明同名的变量时会抛出异常 TypeError ## Using `const` * 声明一个read-only的变量,生命时必须赋值 ...

关于Highcharts

Somenotes about Highcharts

用来HTML SVG画图的JS库,目前用过两个,C3和Highcharts,相比较起来感觉C3太难用,需要设定的参数太多,虽说这样一来你什么都可以自己控制,但是开发起来真心慢且烦躁(所以才会有个D3,啊哈哈)。最近用了Highcharts,感觉还不错,例子和文档都比较清爽,画图的各种参数也是相当简洁(唔,但是参数并不少),比C3真是舒服多了。配合coffee script 食用风味更佳。 ...

new Date()在Firefox和Chome下不同效果

Differrent behavior of new Date between Firefox and Chrome

最近一个项目需要画图表,我们的D3js,遇到一个很神奇的问题,就是在Chrome上能显示出来的点/线,在Firefox下面显示不出来。 初步察看原因,发现是点坐标的计算结果不一样。我们的X轴是时间轴,同样的日期在Chrome下计算的X坐标是正常的坐标,而在Firefox下计算出来的坐标是负值,导致无法在graph上显示出来。 后来仔细察看,发现是`new Date()`在两个浏览...

Selenium driver 对 JS Confirm 的处理

How to handle javascript confirm with selennium webdriver

在Web开发中经常会使用JS弹出确认框,在feature测试脚本如何处理这个弹出框呢? page.driver.browser.switch_to.alert.accept # => 点击OK page.driver.browser.switch_to.alert.dismiss #=> 点击 Cancel page.driver.browser.switch_to.a...

jQuery对DOM的基本操作

Manipulate DOM with jQuery

最近在CodeSchool(现在改叫Pluralsight了)稍微系统学习了一下jQuery的选择器,还有DOM操作,感觉还是挺有用的,在这边记个笔记。基本选择器,子选择器,类CSS的伪类选择器,都挺有趣,以及Traversing的概念,似乎影响到选择器的效率。