node.js依赖的 JavaScript基础 字符串处理方法

文章标签: node.js
2014-12-15 13:25:57     14 人阅读    

字符串方法
要移除字符串首末的空格,可以使用:

'hello '.trim(); // 'hello1

V8提供了 JSON.stringify和JSON.parse方法来对JSON数据进行解码和编码。
JSON是一种编码标准,和JavaScript对象字面量很相近,它用于大部分的Web服务和API 服务:

var obj = JSON.parse{'{"a":"b"}') obj.a == 1b* ?
 // true
FUNCTION#BIND
• bind (类似jQuery的$.proxy)允许改变对this的引用:
function a () {
this.hello == 'world'; // true
var b = a.bind({ hello: 1world1 }); b();
FUNCTION#NAME


V8还支持非标准的函数属性名:

var a = function woot {) {}; a.name == 1woot'; // true


该属性用于V8内部的堆栈追踪。当有错误抛出时,V8会显示一个堆栈追踪的信息,会告 诉你是哪个函数调用导致了错误的发生:

> var woot = function () { throw new Error(); };
wootO Error
at [object Context]:1:32


在上述例子中,V8无法为函数引用指派名字。然而,如果对函数进行了命名,W就能在 显示堆栈追踪信息时将名字显示出来:

var woot = function buggy (} { throw new Error{); };
wootO Error
at buggy ([object Context]:1:34)


为函数命名有助于调试,因此,推荐始终对函数进行命名。
_PR0T0_ (继承)
_proto_使得定义继承链变得更加容易:

function Animal () { } function Ferret () { }
Ferret.prototype.__proto  = Animal.prototype;

这是非常有用的特性,可以免去如下的工作:
■像上一章节介绍的,借助中间构造器。
■借助OOP的工具类库。无须再引入第三方模块来进行基于原型继承的声明。
存取器
你可以通过调用方法来定义属性,访问属性就使用__defineGetter__、设置属性就使用 一defineSetter 0
比如,为Date对象定义一个称为ago的属性,返回以自然语言描述的日期间隔。
很多时候,特别是在软件中,想要用自然语言来描述日期距离某个特定时间点的时间间 隔。比如,“某件事情发生在三秒钟前”这种表达,远要比“某件事情发生在x年x月x日”这 种表达更容易理解。
下面的例子,为所有的Date实例都添加了 ago获取器,它会返回以自然语言描述的曰期 距离现在的时间间隔。简单地访问该属性就会调用事先定义好的函数,无须显式调用。

// 基于JohnResig的prettyDate (遵循MIT协议)
Date.prototype. defineGetter (1 ago1, function () {
var diff = {((new Date()).getTime() - this.getTime()) / 1000),day—diff = Math.floor(diff / 86400);
I 26〉

diff < 60 && "just now" || diff < 120 && "1 minute ago" ||
});

然后,简单地访问ago属性即可。注意,访问属性实际上还会调用定义的函数,只是这个 过程透明了而已:

var a = new Date('12/12/1990'}; //my birth date a.ago II 1071 weeks ago


原文地址:http://www.itmmd.com/201412/320.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android学习笔记(23)android Spinner的功能和用法   上一篇
下一篇  linux命令详解(19)修改文件属性 lsattr、chattr命令详解

精彩回复
#1楼    ; [评论人]:jlins   [发表时间]:2014-12-15 13:43:48

fibjs 是一个建立在 Google v8 Javascript 引擎基础上的应用服务器开发框架,不同于 node.js,fibjs 采用 fiber 解决 v8 引擎的多路复用

发表评论
姓名:       

《程序员app》专门为程序员量身定做!