首页 > 解决方案 > 如何将 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 属性包含触发加载事件时执行的事件处理程序,

但这对我来说没有意义。

标签: javascriptobject

解决方案


对象的属性也可以是可以用点表示法调用的函数。在你的例子中,

reader.onload(paramsData)

将以 paramsData 作为参数调用该函数。

我建议您学习 Crockford 的有关 JavaScript 的书籍或讲座。这是一个示例:第三幕:终极功能:https ://www.youtube.com/watch?v=ya4UHuXNygM


推荐阅读