node.js依赖的 JavaScript基础 v8中的JavaScript

文章标签: node.js
2014-12-13 11:58:56     7 人阅读    

v8中的JavaScript
        至此,你已经了解了 JavaScript在绝大多数环境下(包括早期浏览器中)的语言特性。


       随着Chrome浏览器的发布,它带来了一个全新的JavaScript引擎 V8,它以极速的执行环境,加之时刻保持最新并支持最新ECMAScrip術性的优势,快速地在浏览器市场中占据了 重要的位置。

       其中有些特性弥补了语言本身的不足。另外一部分特性的引入则要归功于像jQuery 和PrototypeJS这样的前端类库,因为它们供了非常实用的扩展和工具,如今,很难想象JavaScript中要是没有了这些会是什么样子。


      本章介绍V8中最有用的特性,并使用这些特性书写出更精准、更高效的代码,与此同 时,代码的风格也将借鉴最流行的Node.js框架和库的代码风格。
     OBJECT#KEYS
     要想获取下述对象的键(a和c ):
     

var a = { a: 'b1, c: 'd1 };


     通常会使用如下迭代的方式:
      

for (var i in a) { }


      通过对键进行迭代,可以将它们收集到一个数组中。不过,如果采用如下方式对Object. prototype进行过扩展:
     Object.prototype.c = 1d;
     为了避免在迭代过程中把c也获取到,就需要使用hasOwnProperty来进行检查:

for (var i in a) {
if (a.hasOwnProperty(i)} {}
J


在V8中,要获取对象上所有的自有键,还有更简单的方法:

var a = { a: 'b', c: 'd' };
Object.keys(a); // ['a', 'c']
ARRAY#ISARRAY


正如你此前看到的,对数组使用typeof操作符会返回object。然而大部分情况下,我 们要检查数组是否真的是数组。

Array.isArray对数组返回true,对其他值则返回false:
Array.isArray(new Array) // true

 Array.isArray([]) // true 

Array.isArray(null) // false 

Array.isArray(arguments) // false


数组方法
要遍历数组,可以使用forEach (类似jQuery的$.each):

//会打印出1,2,3 

[1, 2, 3].forEach(function (v) {

        console.log(v);
})


要过滤数组元素,可以使用filter (类似jQuery的$.grep):

[1, 2, 3].forEach(function (v) { 

    return v < 3 ?
}); 

// 会返回[1,2]


要改变数组中每个元素的值,可以使用map (类似jQuery的$.map):

[5, 10, 15].map(function (v) { 

     return v * 2;
});//会返回[10,20,30]


V8还提供了一些不太常用的方法,如reduce、reduceRight以及lastIndexOf。  


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

linux命令详解(18)复制文件 cp、dd命令详解   上一篇
下一篇  android学习笔记(22)android AutoCompleteTextView 自动完成文本框(AutoCompleteTextView )的功能和用法的功能和用法

精彩回复
发表评论
姓名:       

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