Problemă cu 'this' în function.call() în JavaScript
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
Marius
- Mesaje: 60
Problemă cu 'this' în function.call() în JavaScript
De ce function.call() se comportă diferit cu '
this' cand nu e adaugat ca argument, în JavaScript?
Rezultatul cu 'this' în test.call() este același atunci când 'this' este înlocuit cu '
undefined'.
Cod: Selectaţi tot
function test(a,b){
console.log(a+b);
}
let args = [1,2]
test.call(this, ...args); // Output: 3
test.call(undefined, ...args); // Output: 3
Dar fara '
this' in test.call(), rezultatul aici e
NaN.
Cod: Selectaţi tot
function test(a,b){
console.log(a+b);
}
let args = [1,2]
test.call(...args); // Output: NaN
MarPlo
Functia
call() necesita primul argument, care e pentru obiectul 'this', daca nu ai nevoie de el, adauga
null.
In codul tau transferi argumentele la parametru 'this' in functia test(), nu la (a, b).
Poti verifica cu
console.log(this) sa vezi diferenta cand 'this' e sau nu adaugat.
Cod: Selectaţi tot
function test(a,b){
console.log(this) // number 1
console.log(a) // number 2
console.log(b) // undefined
console.log(a+b) // 2 + undefined will be NaN
}
let args = [1,2]
test.call(...args);
Primul argument e mereu pentru 'this'.
Daca adaugi un sir ca prim argument, atunci 'this' va fi acel sir.
Cod: Selectaţi tot
function test(a,b){
console.log(this) // "marplo"
console.log(a) // number 1
console.log(b) // number 2
}
let args = [1,2]
test.call('marplo', ...args);
Subiecte similare
-
Eroare: member function fetch_array() on bool
PHP - MySQL - XML
Primul mesaj
Am creat sintaxa asta in home php
Cand este setat 1 in baza de date la userul respectiv ar trebui sa imi arate true iar cand e 0 sa imi arate false....
Ultimul mesaj
Era o problema unde nu trebuia adaugat acel cod, am rezolvat ,mersi
-
preluare url din javascript in php
JavaScript - jQuery - Ajax
Primul mesaj
buna, accesez un fisier php care face un insert in BD cu coloana url_pagina cu javascript
<script type= text/javascript >
AccesariSite =...
Ultimul mesaj
Salut,
Daca vrei sa preiei in php o adresa url transmisa din javascript cu ajax, la adresa de accesare din ajax asociaza adresa url cu un nume,de...
-
preluare url din javascript in php
Cereri si Oferte
Primul mesaj
Salut,
iara am dat de o problema de trimitere date prin javascript...
cu acest cod afisez anumite date de la pagina 'uploader/index.php'
vreau sa...
Ultimul mesaj
Din codul dat de tine nu se stie unde e instructiunea care trimite date la index.php.
Oricum, in javascript poti sa preiei adresa paginii curente cu...
-
JavaScript global variable
JavaScript - jQuery - Ajax
Primul mesaj
buna
sunt incepator in js.inteleg diferenta intre js- client php- server.
vreau ca o variabila dintr-o functie sa devina o variabila grobala...
Ultimul mesaj
Salut,
In JavaScript variabilele definite cu declaratia var in afara functiei sunt variabile globale, pot fi folosite si modificate in tot...
-
Produsul Dot a doua array in Javascript
JavaScript - jQuery - Ajax
Primul mesaj
Cum se poate implementa eficient o metoda dotProduct (pentru a obține produsul Dot din două array) fără a importa alte biblioteci Javascript?
De...
Ultimul mesaj
Iată o metodă.
Se foloseste funcția map() pentru a crea un nou array cu rezultate înmulțite ale fiecărui index, apoi se aplica funcția reduce()...
-
Rulare cod JavaScript din fisier JS extern
JavaScript - jQuery - Ajax
Primul mesaj
Sal ! scuze ca vin cu o chestiune de novice ...
Încercand sa ma initiez si eu in JS, am luat-o de la zero, testand fiecare cod exemplificat in...
Ultimul mesaj
OK, Tks, MarPlo !!! m-am destupat... eram sub influența apelării codurilor în php ...