class Grid {
// static修饰的变量或函数,访问时类似this. 只需要类名称.var_name/func_name
static origin = {x: 0, y: 0};
calculateDistanceFromOrigin(point: {x: number; y: number;}) {
let xDist = (point.x - Grid.origin.x);
let yDist = (point.y - Grid.origin.y);
return Math.sqrt(xDist * xDist + yDist * yDist) / this.scale;
}
constructor (public scale: number) { }
// 修饰函数,类似C++单例模式返回全局对象
static getOrigin(){
console.log(Grid.origin);
}
}
let grid1 = new Grid(1.0); // 1x scale
let grid2 = new Grid(5.0); // 5x scale
console.log(grid1.calculateDistanceFromOrigin({x: 10, y: 10}));
console.log(grid2.calculateDistanceFromOrigin({x: 10, y: 10}));
console.log(Grid.origin);
Grid.getOrigin();
node.ts static
最新推荐文章于 2024-09-17 20:41:27 发布