# 筆記_javascript this 實作練習 ---- ###### tags: `javascript` 建立物件 ```javascript= var object = { name: "object物件", age: "2020-03-05", } ``` 忘記寫入方法(因為用 開發人員工具寫) 沒關係javascrupt這樣再加入就可以了 ```javascript= object.method = function(){ console.log("較用物件方法"); console.log('物件名字' + this.name); } ``` 只要打上物件名字就可以看到屬性跟方法 ![](https://i.imgur.com/0gRmAXn.png) 建立全域變數跟function ```javascript= var name = '新的全域名稱'; function thisName(){ console.log(this.name); } ``` 叫用 ```javascript= console.log(thisName()); // '新的全域名稱' ``` 然後把物件裡的方法 換成 全域方法 this 是誰呢?? ```javascript= object.method = thisName; console.log(object.method()); // object物件 ``` 但可以看出來物件方法已經被換掉 但是this卻沒有感變 因為是叫用物件方法 也就是 >> this 大部分取決於 它在哪個物件下被呼叫,也就是本段落主要介紹的「物件的方法調用」這個觀念佔了 絕大部分 的 JavaScript 實作時的 this 運作 [JavaScript This 系列文:this 與物件的關係](https://wcc723.github.io/javascript/2019/03/18/JS-THIS/)