V8中的JavaScript
基本介绍
- V8是chrome浏览器的js引擎,执行速度快,更新快,且提供了非常实用的扩展和工具,
- 主要介绍一些特性
-
object keys
let a = {a:'b',c:'d'};
object.keys(a);//['a','c']
array isarray
数组方法
- 遍历数组可以用
forEach
- 过滤数组可以用
filter
- 需要改变数组中每个元素的值可以用
map
- 还有一些不太常用的 reduce,reduceRight,lastIndexOf
-
字符串方法
JSON
- 提供了 JSON.stringify和JSONL.parse进行编码和解码
-
function和 bind
function 和 name
- 支持费标注你的函数属性名
-
var a =function woot(){};
a.name='woot'
- 报错机制比较人性化
-
继承 proto
- 直接引用该方法即可
函数名.protoeype._proto_ = 函数名.prototype
-
存储器
-
_defineGetter_
和defineSetter
- 用以给一个对象添加属性
-
Date.prototype.__defineGetter__('ago', function () {
let diff = (((new Date()).getTime() - this.getTime()) / 1000),
day_diff = Math.floor(diff / 86400);
return day_diff == 0 && (
diff < 60 && "just now" ||
diff < 120 && "1 minute ago" ||
diff < 3600 && Math.floor(diff / 60) + " minute ago" ||
diff < 7200 && "1 hour ago" ||
diff < 86400 && Math.floor(diff / 3600) + "hour ago" ||
day_diff == 1 && "yesterday" ||
day_diff < 7 && day_diff + "days ago" ||
Math.ceil(day_diff / 7) + "week age"
);
});
let date = new Date('12/27/1991');
console.log(date.ago);
网友评论