美文网首页
读<了不起的Node.js>-03.V8中的JavaScript

读<了不起的Node.js>-03.V8中的JavaScript

作者: 在路上的海贼 | 来源:发表于2018-08-04 16:39 被阅读0次

V8中的JavaScript

基本介绍

  • V8是chrome浏览器的js引擎,执行速度快,更新快,且提供了非常实用的扩展和工具,
  • 主要介绍一些特性

object keys

  • 获取键对象
let a = {a:'b',c:'d'};
object.keys(a);//['a','c']

array isarray

  • 用以判断 type是否为数组

数组方法

  • 遍历数组可以用forEach
  • 过滤数组可以用filter
  • 需要改变数组中每个元素的值可以用map
  • 还有一些不太常用的 reduce,reduceRight,lastIndexOf

字符串方法

  • 溢出字符串首末空格 trim()

JSON

  • 提供了 JSON.stringify和JSONL.parse进行编码和解码

function和 bind

  • .bind允许改变对this的引用

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);

相关文章

网友评论

      本文标题:读<了不起的Node.js>-03.V8中的JavaScript

      本文链接:https://www.haomeiwen.com/subject/soymvftx.html