类
在ES5
中,如果想要实现一个类,那么需要通过以下代码来实现:
fuction Point(x,y) { this.x=x; this.y=y; } Point.prototype.toString=function() { return '('+this.x+','+this.y+')'; }; var p=new Point(1,2);
这种写法虽然可以实现,但是不够清晰,让有其他编程语言的小伙伴看了后会有一脸问号。那么ES6
就提供了一个新的语法class
来实现。示例代码如下:
class Person { //构造函数 constructor{ this.name=name; this.age=age; } sayhello() { console.log("hello world"); } let p=new Person("zhiliao",18) p.sayhello(); } 以上便是定义一个Person类的非常简单的方式。
定义静态的方法
在定义方法的时候,可以使用static
关键字定义静态方法,静态方法是只属于类的,不属于对象的。示例
class Utils{ constructor(){} static timeFormat(time){ // 时间格式化的代码 } } // 直接调用 Utils.timeFormat("2019/1/1")
以上定义了一个timeFormat
的方法,并且在这个方法前面加了一个static
关键字,所以他就是一个静态方法了,那么以后在使用这个方法的时候直接通过类名就可以调用了。
模块
在传统的JS
中,是没有办法在多个js
文件中互相导入的,这对于大型项目来说很不方便。因此ES6
提供了一个模块的功能。要学会使用模块,只要掌握两个关键字export
以及import
即可。
exprot:
// utils.js
var name ="zhiliao"; function dateFormate(date) { //格式化代码 } class Person { constructor(name,age){ this.name=name; this.age=age; } } export{name,dateFormate.Person}
import:
以上文件进行export
了,那么以后其他文件想要使用的,则需要从这个文件中把需要的进行import
。示例代码如下:
import {name,dateFormat,Person} from "utils.js";