js类的使用
2024-08-25 13:00:03
brush示例
以d3的一个brush进行叙述,示例见:
https://bl.ocks.org/xunhanliu/6f0b46789842e9e19e6cfe9bd0b16806
应用情形:
当页面上有多个图时,况且每个图维护一份brush,互不影响。
js 类的基本结构:
//定义类
var a=100;
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
} toString() {
return '(' + a + this.x + ', ' + this.y + ')'; //全局变量a,仍正常使用
}
}
参考自:https://www.cnblogs.com/zczhangcui/p/6528039.html
说明:
1、constructor:是构造方法
2、类中每个方法前面不许加function。
3、全局变量可正常使用
重点:
this冲突
this在事件中(element)有特定的指定的(谁的函数触发的这个函数,这个函数内部的this就指向谁(dom))。而且在全局区域中使用this,this指向window类。
当然在自定义的类中常只存在事件绑定的方法(如click事件绑定了此类的一个方法)中this的冲突。针对这种情况,可使用闭包来避免。
如:
class Point {
constructor(dom) {
d3.select(dom).on('click', this._click(this));
} _click(that) {
return function () {
//在里面 this指向被点击的元素,that指向Point实例
}
}
}
最新文章
- JQUERY MOBILE 中文API站 和 官方论坛
- 使用CSS3动画模拟实现小球自由落体效果
- Sql Server 添加外部程序集基本操作
- 【xml】转义字符 &;lt;等符号出现的原因
- CentOS6.4 内核优化
- UI4_UITableViewSectionIndex
- Firefly 配置说明!
- Java队列实现
- Java实现http服务器(一)
- python:文本文件处理
- Win8节省C盘空间攻略
- 让C/C++程序一次编译可以发布到多版本Linux之上
- Egret index.html设置
- Maven详解(一)------ Maven概述
- 新概念英语(1-5)Nice to meet you.
- 《ServerSuperIO Designer IDE使用教程》-2.与硬件网关数据交互,并进行数据级联转发,直到云端。发布:v4.2.1版本
- Visual Studio中Image Watch的使用
- 不应该使用String.valueOf的场景
- StringRedisTemplate操作Redis
- vs2015调试iisexpress无法启动的问题解决方案整理