在节点上的函数内部运行方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在节点上的函数内部运行方法相关的知识,希望对你有一定的参考价值。
我无法理解下面的代码片段是如何工作的。 const video = player.querySelector('。viewer');
function togglePlay() {
const method = video.paused ? 'play' : 'pause';
video[method];
}
togglePlay() //starts playing video
我不明白的确切部分是视频[方法],它是如何工作的?我试过谷歌,但到目前为止没有运气。我们只是在视频对象中添加方法吗?如果是这样,为什么我们调用togglePlay()它开始播放视频?!
答案
这种方式的工作方式是访问视频对象的属性。这意味着我们将视频用作数组。如果视频暂停,我们找到播放方法,否则我们找到暂停方法。我们没有创建新方法,我们只是找到对象上已存在的方法。
如果你想,你可以将代码改写成类似的东西
function togglePlay() {
if(video.paused) {
video.play() // could also be written as video["play"]()
} else {
video.pause() // could also be written as video["pause"]()
}
}
要使togglePlay方法像您编写的那样工作,您必须将togglePlay函数中的最后一行更改为此。
视频[方法]到视频[方法]();
const video = document.getElementById("video");
function togglePlay() {
const method = video.paused ? 'play' : 'pause';
video[method]();
}
<!DOCTYPE html>
<html>
<body>
<video id="video" width="320" height="240" controls>
<source src="https://www.w3schools.com/html/movie.mp4" type="video/mp4">
<source src="https://www.w3schools.com/html/movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
<button onclick="togglePlay()">toggle play</button>
</body>
</html>
以上是关于在节点上的函数内部运行方法的主要内容,如果未能解决你的问题,请参考以下文章
pandas GroupBy上的方法apply:一般性的“拆分-应用-合并”