iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
0

聊聊 Client 的 this

Javascript 的 this 預設會指向 window

    console.log(this) // window

當使用嚴格模式時是指向 undefined

    'use strict'
    console.log(this)

this 本身代表意義是呼叫 function 的實例,簡單說就是誰呼叫這個 function 的

以下是大部分出現會影響 this 的案例

  • 物件中的 fucntion
    var a = {
    	name: 'John',
    	getName(){
    		console.log(this.name);
    	}
    }
    
    a.getName()
  • 建構式
    function People(name){
    	this.name = name;
    }
    
    People.prototype.getName = function (){
    	console.log(this.name)
    }
    
    var p = new People('John')
    p.getName()
  • 事件的 callback
    document.body.addEventListener('click', function(){
    	console.log(this)
    })
  • call/apply
    var getName = function () {
    	console.log(this.name);
    }
    
    var a = {
    	name: 'John',
    }
    
    var b = {
    	name: 'Mary',
    }
    
    getName.call(a)
    getName.call(b)

上一篇
Day 16 await && async
下一篇
Day 18 閉包
系列文
30 天 node.js 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言