Javascript 什么是;这";当在函数括号中使用时,您会这样做吗?

Javascript 什么是;这";当在函数括号中使用时,您会这样做吗?,javascript,html,css,Javascript,Html,Css,我有一个带有三个按钮的简单页面。我想做一个函数,点击一下就可以改变我页面的背景色。所以我设法让它工作了 我基本上想知道,当我在我的changecolor括号中使用“this”时,它到底是做什么的 我有一种感觉,但我需要更客观的知识 我的HTML: <!DOCTYPE html> <html> <head> <title>Panel</title> <link rel="stylesheet"

我有一个带有三个按钮的简单页面。我想做一个函数,点击一下就可以改变我页面的背景色。所以我设法让它工作了

我基本上想知道,当我在我的changecolor括号中使用“this”时,它到底是做什么的

我有一种感觉,但我需要更客观的知识

我的HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>Panel</title>
        <link rel="stylesheet" type="text/css" href="style.css"></link>
        <script src="javascript.js"></script>
    </head>

    <body>
        <h1>THIS IS SOME TEXT</h1>
        <h2>This is some more text</h2>
        <button class="buttons" id="button1" onclick="changecolor(this)">;P</button>
        <button class="buttons" id="button2" onclick="changecolor(this)">;]</button>
        <button class="buttons" id="button3" onclick="changecolor(this)">;)</button>
    </body>     
</html>
我的javascript:

function changecolor(clickedButton){

    if(clickedButton.id == "button1"){
        document.body.style.backgroundColor="lightgreen";

    }

    if(clickedButton.id =="button2"){
        document.body.style.backgroundColor="gray";
    }

    if(clickedButton.id =="button3"){
        document.body.style.backgroundColor="lightblue";
    }
}

提前谢谢你

它将单击元素的引用发送到javascript函数。

它将单击元素的引用发送到javascript函数。

指的是按钮元素本身。

指的是按钮元素本身。

指的是发生在


在这种情况下,在
changecolor()
内,
clicked按钮将引用已单击的
对象。

引用在上发生的

在这种情况下,在
changecolor()
中,
clicked按钮将引用已单击的
对象

在JavaScript
中,这个
总是指我们正在使用的函数的“所有者” 执行,或者更确切地说,对函数作为方法的对象执行。 当我们在页面中定义忠实的函数doSomething()时 所有者是页面,或者更确切地说,是的窗口对象(或全局对象) JavaScript。不过,onclick属性属于HTML元素 它属于我

通过-

在JavaScript
中,这个
总是指我们正在使用的函数的“所有者” 执行,或者更确切地说,对函数作为方法的对象执行。 当我们在页面中定义忠实的函数doSomething()时 所有者是页面,或者更确切地说,是的窗口对象(或全局对象) JavaScript。不过,onclick属性属于HTML元素 它属于我


通过-

这将更改文档正文的背景色。“this”与此按钮或对象中的“this”相同,它正在更改文档正文的背景色。“这个”和这个按钮或对象一样,仅供参考:
[
=括号,
=括号,
{
=花括号)这个问题肯定有重复的地方。@Zeta…我知道你在那里做了什么:-)@Phlume:那双关语根本不是故意的。@AndrewLyndem:Phlume认为我的评论是一个糟糕的双关语,因为你可以把它当作一个词来读“这个
问题肯定有一个重复的。
[=括号,
=括号,
{
=花括号)这个问题肯定有一个重复的。@Zeta…我知道你在那里做了什么:-)@Phlume:那个双关语不是偶数(t)有意的。@AndrewLyndem:Phlume认为我的评论是一个糟糕的双关语,因为你可以把它理解为“这个问题肯定有重复的
”。
function changecolor(clickedButton){

    if(clickedButton.id == "button1"){
        document.body.style.backgroundColor="lightgreen";

    }

    if(clickedButton.id =="button2"){
        document.body.style.backgroundColor="gray";
    }

    if(clickedButton.id =="button3"){
        document.body.style.backgroundColor="lightblue";
    }
}