JavaScript this Keyword
- ਪਿਛਲਾ ਪੰਨਾ JS ਸਖਤ ਮੋਡ
- ਅਗਲਾ ਪੰਨਾ JS ਅਰਥੀ ਫੰਕਸ਼ਨ
ਇੰਸਟੈਂਸ
var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : function() { return this.firstName + " " + this.lastName; } };
this ਕੀ ਹੈ?
JavaScript this
ਕੀਵਾਰਡ ਹੈ ਇਸ ਦੇ ਮਾਲਕ ਅਧਾਰਕ.
ਇਸ ਦੀ ਕੀਮਤ ਇਸ ਦੇ ਵਰਤੇ ਜਾਣ ਦੇ ਸਥਾਨ 'ਤੇ ਵੱਖ ਵੱਖ ਹੁੰਦੀ ਹੈ:
- ਮੈਥਡ ਵਿੱਚ:
this
ਹੈ ਮਾਲਕ ਵਸਤੂ. - ਅਲੱਗ ਹੈ:
this
ਹੈ ਵਿਸ਼ਵ ਅਧਾਰਕ ਵਸਤੂ. - ਫੰਕਸਨ ਵਿੱਚ:
this
ਹੈ ਵਿਸ਼ਵ ਅਧਾਰਕ ਵਸਤੂ. - ਫੰਕਸਨ ਵਿੱਚ ਸਖਤ ਮੋਡ ਵਿੱਚ:
this
ਹੈ undefined。 - ਈਵੈਂਟ ਵਿੱਚ:
this
ਹੈ ਈਵੈਂਟ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲਾ ਐਲੀਮੈਂਟ。
ਵਰਗ call()
ਅਤੇ apply()
ਅਜਿਹੇ ਮੈਥਡ ਇਸ this ਨੂੰ ਕਿਸੇ ਵੀ ਅਧਾਰਕ ਵਿੱਚ ਲਿਆ ਸਕਦੇ ਹਨ。
ਮੈਥਡ ਵਿੱਚ this
ਅਧਾਰਕ ਮੈਥਡ ਵਿੱਚ:this
ਹੈ ਇਸ ਫੰਕਸਨ ਦਾ ਮਾਲਕ.
ਇਸ ਪੰਨੇ ਦੇ ਉੱਪਰ ਵਾਲੇ ਉਦਾਹਰਣ ਵਿੱਚ:this
ਹੈ person ਅਧਾਰਕ.
person ਅਧਾਰਕ ਹੈ fullName ਫੰਕਸਨ ਦਾ ਮਾਲਕ.
fullName : function() { return this.firstName + " " + this.lastName; }
ਅਲੱਗ this
ਅਲੱਗ ਤੋਂ ਵਰਤੇ ਹੋਏ ਹੈ ਤਾਂ ਮਾਲਕ ਵਿਸ਼ਵ ਅਧਾਰਕ ਵਸਤੂ ਹੈ ਇਸ ਲਈ: this
ਹੈ ਵਿਸ਼ਵ ਅਧਾਰਕ ਵਸਤੂ.
ਬਰਾਉਜ਼ਰ ਵਿੰਡੋ ਵਿੱਚ ਵਿਸ਼ਵ ਅਧਾਰਕ ਵਸਤੂ ਹੈ: [object Window]
:
ਇੰਸਟੈਂਸ
var x = this;
ਸਖਤ ਮੋਡ ਵਿੱਚ ਅਲੱਗ ਤੋਂ ਵਰਤੇ ਹੋਏ: this
ਹੈ ਵਿਸ਼ਵ ਅਧਾਰਕ ਵਸਤੂ: [object Window]
:
ਇੰਸਟੈਂਸ
"use strict"; var x = this;
ਫੰਕਸਨ ਵਿੱਚ this (ਮੂਲਭੂਤ)
JavaScript ਫੰਕਸਨ ਵਿੱਚ ਫੰਕਸਨ ਦਾ ਮਾਲਕ ਮੂਲਭੂਤ ਬਾਂਧ ਹੈ: this
.
ਇਸ ਵਿੱਚ ਫੰਕਸਨ ਵਿੱਚ:this
ਹੈ ਵਿਸ਼ਵ ਅਧਾਰਕ ਵਸਤੂ: [object Window]
.
ਇੰਸਟੈਂਸ
function myFunction() { return this; }
ਫੰਕਸਨ ਵਿੱਚ this (ਸਖਤ ਮੋਡ)
JavaScript ਸਖਤ ਮੋਡ ਵਿੱਚ ਮੂਲਭੂਤ ਬਾਂਧ ਨਹੀਂ ਦਿੰਦਾ。
ਇਸ ਲਈ ਫੰਕਸਨ ਵਿੱਚ ਵਰਤਦੇ ਹੋਏ ਸਖਤ ਮੋਡ ਵਿੱਚ:this
ਹੈ ਅਣਮਾਨਤ (undefined
})
ਇੰਸਟੈਂਸ
"use strict"; function myFunction() { return this; }
ਈਵੈਂਟ ਹੰਡਲਰ ਵਿੱਚ this
HTML ਈਵੈਂਟ ਹੰਡਲਰ ਵਿੱਚ:this
ਹੈ ਇਸ ਈਵੈਂਟ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲਾ HTML ਐਲੀਮੈਂਟ:
ਇੰਸਟੈਂਸ
<button onclick="this.style.display='none'"> ਮੈਂ ਹਟਾਓ! </button>
ਅਧਾਰਕ ਮੈਥਡ
ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ ਹੈ:this
ਹੈ person ਅਧਾਰਕ (person ਫੰਕਸਨ ਦਾ ਮਾਲਕ ਹੈ):
ਇੰਸਟੈਂਸ
var person = { firstName : "Bill", lastName : "Gates", id : 678, myFunction : function() { return this; } };
ਇੰਸਟੈਂਸ
var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : function() { return this.firstName + " " + this.lastName; } };
ਫਿਰ ਕਹਿੰਦੇ ਹਨthis.firstName ਮਤਲਬ thisਦੇ (person) ਦੇ firstName ਪ੍ਰਤੀਯੋਗੀ
ਸਪੱਸ਼ਟ ਫੰਕਸ਼ਨ ਬਾਂਧ
call()
ਅਤੇ apply()
ਮੋਥਡ ਪ੍ਰਤੀਯੋਗੀ ਜਾਂਦੇ ਹਨ ਜੋ ਪ੍ਰਤੀਯੋਗੀ ਜਾਂਦੇ ਹਨ ਜੋ ਪ੍ਰਤੀਯੋਗੀ ਜਾਂਦੇ ਹਨ
ਉਹ ਦੋਵੇਂ ਦੂਜੇ ਆਬਜੈਕਟ ਦੇ ਮੇਥਡ ਵਜੋਂ ਆਪਣਾ ਪਾਰਾਮੀਟਰ ਪ੍ਰਵੇਸ਼ ਕਰ ਸਕਦੇ ਹਨ。
ਤੁਸੀਂ ਇਸ ਸਿੱਖਿਆ ਦੇ ਬਾਅਦ ਇਸ ਬਾਰੇ ਪੜ੍ਹ ਸਕਦੇ ਹੋ call()
ਅਤੇ apply()
ਦੇ ਹੋਰ ਸਮੱਗਰੀ
ਨਿਚੇ ਦੇ ਉਦਾਹਰਣ ਵਿੱਚ, ਜਦੋਂ person2 ਨੂੰ person1.fullName ਵਿੱਚ ਪਾਰਾਮੀਟਰ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ,this
ਪ੍ਰਤੀਯੋਗੀ person2 ਨੂੰ ਉਲੇਖ ਕਰੇਗਾ, ਭਾਵੇਂ ਉਹ person1 ਦਾ ਮੇਥਡ ਹੋਵੇ:
ਇੰਸਟੈਂਸ
var person1 = { fullName: function() { return this.firstName + " " + this.lastName; } } var person2 = { firstName:"Bill", lastName: "Gates", } person1.fullName.call(person2); // ਵਾਪਸ "Bill Gates" ਦੇਣਗੇ
- ਪਿਛਲਾ ਪੰਨਾ JS ਸਖਤ ਮੋਡ
- ਅਗਲਾ ਪੰਨਾ JS ਅਰਥੀ ਫੰਕਸ਼ਨ