js中如何定义class,如何扩展prototype?

JavaScript018

js中如何定义class,如何扩展prototype?,第1张

思路:

JS中定义class是通过function,有点类似C++语言中的struct概念。要定义class只需要定义function,并注意this的使用。

举例:

<script>

function MyClass(){

  this.a = '2'//可以通过this定义属性

}

MyClass.prototype.say= function () { //扩充方法

   return 'hello' 

}

MyClass.prototype.mValue= '3'//扩充属性

var mc = new MyClass()

alert(mc.a)

alert(mc.say())

alert(mc.mValue)

</script>

方法一:

const getDate = ()=>{

var d=new Date()

var year=d.getFullYear()

var month=change(d.getMonth()+1)

var day=change(d.getDate())

var hour=change(d.getHours())

var minute=change(d.getMinutes())

var second=change(d.getSeconds())

function change(t){

if(t<10){

return "0"+t

}else{

return t

}

}

return year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second

}

方法二:

使用moment时间插件

1、引入方式:<script src="moment.js"></script>

或者使用包管理器npm,引用直接使用命令:npm install moment

2、引入之后,直接使用monent().format('yyyy-MM-dd HH:mm:ss')

1⃣️ 扩展运算符...(把数组或者类数组展开成用逗号隔开的值)

*等式右边或者实参

2⃣️ rest参数 (把逗号隔开的值合成一个数组)

*等式左边或者行参