Array及String的lastIndexOf函数用法及其IE8实现,及为什么要尽量避免使用for in Array.prototype.lastIndexOf 和 String.prototype.lastIndexOf 是非常的实用一个函数,不过很多人不知道它其实可以传递两个参数,第二个参数决定了搜索的起始位置:
// Create an array.
var ar = ["ab", "cd", "ef", "ab", "cd"];
// 找到最后一个CD的位置
document.write(ar.lastIndexOf("cd") + "<br/>");
// 输出: 4
// 从正数第二个位置,搜索倒数第一个CD的位置
document.write(ar.lastIndexOf("cd", 2) + "<br/>");
// 输出: 1
// 从倒数第三个搜索最后一个ab的位置
document.write(ar.lastIndexOf("ab", -3) + "<br/>");
// 输出: 0
用HTML5原生实现拖放或排序 拖放是一种很常见的功能,现在这个功能已经成为Html5标准的一部分。通过html5只需要简单几行代码即可实现拖放,比如下面这个例子,你可以将此图片上下拖放。
如何用CSS将select/option文本居中或居右对齐 目前在select元素中你使用css: text-align, 你会发现根本不起作用。
select { text-align: right }
option { text-align: right }
似乎在所有基于webkit的浏览器没有对select实现text-align这个CSS属性。
改变手机浏览器(iPhone/Android)上文本输入框的默认弹出键盘(数字) iPhone/iPad和Android提供不同的的键盘输入
类型,触发合适的键盘将极大地改善用户体验。
掌握Node.js的文件系统[File System 基础] Node最引以为傲的就是它有一个非常小的核心。有一些语言绑定了完整的POSIX API,而 Node实现了尽可能少的绑定,并通过同步、异步或流API形式暴露他们。
这种方法意味着,操作系统中有一些非常方便的功能,需要在Node中重建。这是一个教你如何使用文件系统软件包的实用教程。
JavaScript也有getter/setter方法:ES5 Object对象的5个不为人知的特性 ECMAScript 5支持getters和setters。你可以通过
描述方法来实现。
var obj = {
get foo() {
return Math.random();
},
set foo(value) {
console.log('SET foo = '+value);
},
};
ES6中的Map与JSON的相互转化(序列和持久化) 当你需要存一些键值对数据时,然后你不知道key是哪些对象类型。你最好把他们存在Map中,这比存在Object中好些。
注* Map支持任意类型如Object作为key; 目前JSON.stringify和JSON.parse并不支持Map;
Node.js中的通用基础设计模式 谈到设计模式,你可能会想到 singletons, observers(观察者) 或 factories(工厂方法)。本文不并专门探讨他们。只是探讨Node.JS一些基础模式的实现,像依赖注入或中间件。