代碼
<div>1</div>
<script>
var a = document.querySelector('div')
console.log(a)
console.log(a.innerHTML)
a.innerHTML = 222
</script>
a : <div>222</div> 1
b : <div>222</div> 222
c : <div>1</div> 222
d : <div>1</div> 1
思考
爲什麼打印 console.log(a) 得到的是 <div> 222 </div>
而 打印 console.log(a.innerHTML) 是 1
?
=================================== 分割線 =================================
原因:
1) 受到瀏覽器渲染機制影響 :
2) 引用類型數據傳址,基本數據類型傳值
把代碼中的 console.log()看做一個函數,那 console.log(a),就相當於是將a這個對象傳給了這個函數,而在你重新給a.innerhtml 賦值之後也會改變原有的對象,所以 你直接console a 的時候 是修改了的數值 222
console.log(a.innerhtml)的時候,傳進來的是一個基本數據 字符串,這時候 他只單純的傳值 對原有的數據並不會有影響 所以你從這塊的console拿到的就還是 1