调用格式为var.function的函数

问题描述

我对您可以调用函数的方式感兴趣。

例如,可以像com.android.builder.multidex.D8MainDexList$MainDexListException: com.android.tools.r8.errors.CompilationError: Program type already present: com.google.auto.value.extension.memoized.Memoized at com.android.builder.multidex.D8MainDexList.generate(D8MainDexList.java:87) 那样调用本机函数scrollIntoView(),其中el.scrollIntoView()函数中的参数。

我想知道是否可以创建类似的东西。
这种行为是为本机函数保留的,还是您可以自己编写代码

谢谢!

解决方法

这只是您访问的对象的属性,是最基本的语法

const el = {
  param: "My function trigger",myFunction() {
    console.log(this.param);
  }
}

el.myFunction();

您谈论的已创建元素是继承基类Element的类的所有实例。因此,它们共享接口的相同部分,并且具有相似的可调用方法,例如:

class el {
  constructor(param){
    this.param=param;
  }
  myFunction() {
    console.log(this.param);
  }
}

const el1 = new el("My function param 1");
const el2 = new el("My function param 2");
el1.myFunction();
el2.myFunction();

,

您可以扩展Element原型,尽管由于潜在的碰撞通常不是扩展本机对象的好习惯

Element.prototype.foo = function() {
  // do something the the element which is `this`
  console.log('id:',this.id)
}

document.querySelector('div').foo()
<div id="1">Some content</div>