javascript - 如何将 JavaScript 对象属性设置为函数,例如 FileReader.onload?
问题描述
我正在学习 JS,并被MDN的代码示例难住了。
// Callback from a <input type="file" onchange="onChange(event)">
function onChange(event) {
var file = event.target.files[0];
var reader = new FileReader();
reader.onload = function(e) {
// The file's text will be printed here
console.log(e.target.result)
};
reader.readAsText(file);
}
我的理解是一个对象的属性是一个值,例如
var car = {brand: "Honda"}
那么下面的代码是什么意思呢?
reader.onload = function(e) {
// The file's text will be printed here
console.log(e.target.result)
};
我读过MDN
FileReader.onload 属性包含触发加载事件时执行的事件处理程序,
但这对我来说没有意义。
解决方案
对象的属性也可以是可以用点表示法调用的函数。在你的例子中,
reader.onload(paramsData)
将以 paramsData 作为参数调用该函数。
我建议您学习 Crockford 的有关 JavaScript 的书籍或讲座。这是一个示例:第三幕:终极功能:https ://www.youtube.com/watch?v=ya4UHuXNygM
推荐阅读
- amp-html - 路线图
- python - OpenAI Gradient Checkpointing with Tensorflow Eager Execution
- linux - 在 Linux 中检测从 PCIe 端点到主机内存的事务
- java - 将Java If语句映射到抽象语法树元模型(ASTM)类?
- spring-boot - Spring Boot Reactive Websoket - 阻止流量,直到收到来自客户端的所有信息
- scala - 使用 sbt-assembly 构建多项目 fat jars
- php - docker-compose nginx 找不到 symfony 资产的路由
- scala - 当泛型类型对相同的泛型类型进行操作时,Scala 类型不匹配
- java - 根据其他类的数据设置自动选中的单选按钮
- zooming - 地图最大程度缩小时允许捏合缩放手势