Perché queste due righe creano valori diversi per this
?Qual è il contesto di "questo" in questo esempio?
<div>
<a href="#" id= "li2" onclick="alert(this)"> a link </a>
</div>
<p id= "p2" onclick="alert(this)"> a paragraph </p>
I primi uno avvisi con URI del file, gli avvisi seconda con il "HTML Paragrafo Element". In altre parole, il secondo contesto è l'elemento DOM, ma il primo è il contesto principale.
Ho fatto un sacco di ricerche su questo, e alcuni di loro sono un po 'sopra la mia testa, quindi se qualcuno conosce la risposta, puoi dumbelo giù per me?
_ "questo primo allerta con l'URI del file" _ - solo perché il valore 'href' di quel collegamento è' # '. Il 'href' sarebbe' http: // example.com/'invece, avresti ottenuto quel valore. – CBroe
[Javascript] (http://cdn.meme.am/instances/61739776.jpg). – MikeTheLiar
Questo è esattamente il motivo per cui non si dovrebbe usare 'alert()' per il debug, esso converte il suo parametro in una stringa, che può essere fonte di confusione e non utile. Suggerirei invece 'console.log()', quindi vedresti * esattamente * che cosa era questo. –