Javascript 调用格式为var.function()的函数

Javascript 调用格式为var.function()的函数,javascript,function,syntax,parameters,call,Javascript,Function,Syntax,Parameters,Call,我对调用函数的方法很感兴趣 例如,本机函数scrollIntoView()可以像调用el.scrollIntoView()一样调用,el是函数中的一个参数 我想知道我是否能创造出类似的东西。 这种行为是为本机函数保留的,还是您可以自己编写 谢谢大家! 它只是一个可以访问其属性的对象,是最基本的语法 const el={ 参数:“我的函数触发器”, myFunction(){ console.log(this.param); } } el.myFunction()它只是一个可以访问其属性的对象,

我对调用函数的方法很感兴趣

例如,本机函数
scrollIntoView()
可以像调用
el.scrollIntoView()
一样调用,
el
是函数中的一个参数

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


谢谢大家!

它只是一个可以访问其属性的对象,是最基本的语法

const el={
参数:“我的函数触发器”,
myFunction(){
console.log(this.param);
}
}

el.myFunction()它只是一个可以访问其属性的对象,是最基本的语法

const el={
参数:“我的函数触发器”,
myFunction(){
console.log(this.param);
}
}

el.myFunction()您可以扩展元素原型,尽管由于潜在的冲突,扩展本机对象通常不是一个好的做法

Element.prototype.foo=function(){
//对元素“this”做点什么`
console.log('id:',this.id)
}
document.querySelector('div').foo()

某些内容
您可以扩展元素原型,尽管由于潜在的冲突,扩展本机对象通常不是一个好的做法

Element.prototype.foo=function(){
//对元素“this”做点什么`
console.log('id:',this.id)
}
document.querySelector('div').foo()

某些内容
滚动视图
元素
类的一种方法。在您的示例中,它没有参数。换句话说,
el
必须是该类的实例,或者没有可以调用的
scrollIntoView()
方法。你完全可以创造自己的想法。这是面向对象编程的一个基本功能,自ECMA2015以来JS完全支持该功能。您可以调用
scrollIntoView
,而
el
不是该类的实例,例如:
document.querySelector(div).scrollIntoView()
querySelector
不是该类的实例,不是吗?不是,但它返回的值是。
document.querySelector(div)
返回一个元素或
null
,因此除非选择器与任何元素不匹配,否则它绝对是该类的实例,因此,您可以对其调用可用的方法。
scrollIntoView
元素
类的一种方法。在您的示例中,它没有参数。换句话说,
el
必须是该类的实例,或者没有可以调用的
scrollIntoView()
方法。你完全可以创造自己的想法。这是面向对象编程的一个基本功能,自ECMA2015以来JS完全支持该功能。您可以调用
scrollIntoView
,而
el
不是该类的实例,例如:
document.querySelector(div).scrollIntoView()
querySelector
不是该类的实例,不是吗?不是,但它返回的值是。
document.querySelector(div)
返回一个元素或
null
,因此除非选择器与任何元素不匹配,否则它绝对是该类的实例,因此,您可以对其调用可用的方法。如果是动态放置的,例如
el
is
document.querySelector(…)
?例如,
document.querySelector('div').myFunction()
@barhatsor不,不要将逻辑或数据存储在元素中,使用自己的对象。修改现有原型通常是不明智的,因为不同的代码段可能会相互干扰。我很确定OP通常是oo概念的新概念(显然是返回值);我不认为这个问题是关于扩展原型的。如果是动态放置的,例如
el
is
document.querySelector(…)
?例如,
document.querySelector('div').myFunction()
@barhatsor不,不要将逻辑或数据存储在元素中,使用自己的对象。修改现有原型通常是不明智的,因为不同的代码段可能会相互干扰。我很确定OP通常是oo概念的新概念(显然是返回值);我认为这个问题根本不是关于扩展原型的。