您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页简单谈谈javascript高级特性

简单谈谈javascript高级特性

来源:叨叨游戏网


需要注意的是正则有2种创建形式:字符串字面量和new RegExp()的方式.由于RegExp的构造函数是字符串,所以某些情况下需要进行双重转义.

__PROTO__

__proto__使得继承变得更加容易:

function Super(){};
function Sub(){};
Sub.prototype.__proto__ = Super.prototype;

这是一个非常有用的特性,可以免去如下的工作:

借助中间构造器

无需引入第三方模块来进行基于原型继承的声明

访问器

可以调用方法来定义属性,如其名有:__defineGetter____defineSetter__。例如为Date对象定义一个ago的属性,返回以自然语言描述的日期间隔(例如:某件事发生在3秒之前)。例如:

Date.prototype.__defineGetter__('ago',function(){
 var diff = ((Date.now() - this.getTime()) / 1000)
 day_diff = Math.floor(diff / 800)

 return day_diff == 0 && (diff < 60 && 'just now' )
 || diff < 120 && '1 minute ago' 
 || diff < 3600 && Math.floor(diff / 60) + 'minutes ago'
 || diff < 7200 && '1 hour ago'
 || diff < 800 && Math.floor(diff / 3600) + 'hours ago'
 || day_diff == 1 && 'Yesterday'
 || diff < 7 && day_diff + ' days ago'
 || Math.ceil(day_diff / 7) + ' weeks ago'
})

var d = new Date('12/12/1990')
console.log(d.ago)

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务