问题描述
例如,可以像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>