以 var.function() 格式调用函数
Call a function in the format var.function()
我对调用函数的方式很感兴趣。
例如,本机函数 scrollIntoView()
可以像 el.scrollIntoView()
一样调用 el
作为函数中的参数。
我想知道我是否可以创建类似的东西。
此行为是为本机函数保留的,还是您可以自己编写代码?
谢谢!
它只是一个你访问属性的对象,它是最基本的语法
const el = {
param: "My function trigger",
myFunction() {
console.log(this.param);
}
}
el.myFunction();
您所说的创建的元素都是继承基础class Element 的classes 的实例。因此,它们共享相同的接口部分,并且它们具有相似的可调用方法,例如:
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>
我对调用函数的方式很感兴趣。
例如,本机函数 scrollIntoView()
可以像 el.scrollIntoView()
一样调用 el
作为函数中的参数。
我想知道我是否可以创建类似的东西。
此行为是为本机函数保留的,还是您可以自己编写代码?
谢谢!
它只是一个你访问属性的对象,它是最基本的语法
const el = {
param: "My function trigger",
myFunction() {
console.log(this.param);
}
}
el.myFunction();
您所说的创建的元素都是继承基础class Element 的classes 的实例。因此,它们共享相同的接口部分,并且它们具有相似的可调用方法,例如:
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>