w3ctech

一些现阶段web标准没有解决的问题

原文:When web standards fail us

本文由小豪编写

document.cookie这个对象从一开始出现到现在都没有变化。这也意味着直到现在,我们想要操作cookie的时候,必须对cookie的字符串进行格式化。

JavaScript中的字符串格式化

在c和php里都有sprintf这个方法,printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),但是可能很少会有人用到sprintf。

c里的sprint语法是这样的

int sprintf( char *buffer, const char *format [, argument] ... );

php里是这样的

```

sprintf的功能就是将格式化的字符串写入一个变量中。比如

<?php $number = 123; $txt = sprintf("With 2 decimals: %1\$.2f
With no decimals: %1\$u",$number)
; echo $txt; ?> ```

下一个版本的ECMAScript 会有一个类似的新方法quasis,但是这个方法的问题在于不能做到平稳退化,那么,或许一个简单的htmlEscape()就是一个很好的开始,或者直接实现一个String.format()方法。

JavaScript中日期对象的格式化

在js中存在一个date对象,我们最容易获取到的数据就是1970年到当前的毫秒数,但是问题在于平时我们肯定不会用这个来表达时间。当然date对象也提供单个方法来获取年月日小时,但是,我们真正需要的是一个我们能制定格式,然后浏览器能返回对应格式的时间的方法,比如'yy-mm--dd'或者'yy/mm/dd'。

增加一些常用的UI标签

最常用的有tab选项卡,轮播,展开收起的模块,树形菜单。我们所写的大部分UI相关的JavaScript代码都是在解决这几个问题。由于这些出现的实在是太频繁了,以致于足够让浏览器来考虑是不是将这些UI标签构造出来。

JavaScript触摸事件

触摸事件有一些,但是远不够,比如swipe, flick,tap, 和pinch就没有得到支持。

参考来源

*[sprintf,你知道多少?] (http://blog.csdn.net/sjf331/article/details/339254)

w3ctech微信

扫码关注w3ctech微信公众号

共收到0条回复