Řešení:

Ano, máš pravdu, takhle to nefunguje protože tomu přiřazuješ anonymní funkci.

Následující způsoby jsou funkční:

app.foo = {
  bar: function() {
    var name = arguments.callee.name;
    document.querySelector('BODY').innerHTML = name;
  }
}
// -------------
var bar = function() {
  var name = arguments.callee.name;
  document.querySelector('BODY').innerHTML = name;
}
app.foo.bar = bar;
// -------------
app.foo.bar = function bar() {
  var name = arguments.callee.name;
  document.querySelector('BODY').innerHTML = name;
}
Předmět Autor Datum
To bych řekl, že nejde. Maximálně zjistíš "method".
Wikan 30.09.2019 21:54
Wikan
Díky a co název souboru ve kterém je uložen ten script to by šlo?
J.án 01.10.2019 00:49
J.án
už když ten script nacitavate tak nazov suboru mzsite poznať, nema zmysel preto zistovat jeho nazov.…
Mlocik97 01.10.2019 07:10
Mlocik97
A k čemu je to má být vůbec dobré?
Wikan 01.10.2019 07:52
Wikan
Chci to k otestování aplikace, že se volají všechny fukce a ve správném pořadí. Tak jsem našel funk…
J.án 01.10.2019 08:18
J.án
K otestování aplikace se používají testy, ne tyhle podivnosti. A na stránku to jde vypsat úplně norm…
Wikan 01.10.2019 08:25
Wikan
Tak něco doporuč k testování, ;-) používám VS Code I tohle ti funguje? myApp.next.num = function()…
J.án 01.10.2019 08:37
J.án
Ano, funguje. [88061-inner-jpg] K testování se obvykle používá Jasmine framework. https://jasmine.g…
Wikan 01.10.2019 08:42
Wikan
Ale podle obrázku testuješ jen funkci test(), otestuj prosím i ty objekty.
J.án 01.10.2019 08:47
J.án
Tak v tom samozřejmě není žádný rozdíl. [88063-inner-jpg]
Wikan 01.10.2019 08:51
Wikan
Tak rozdíl to je, mě funkce taky fungují ale objekty už ne. Proč? Mám Windows 10 a node.js nepoužívá…
J.án 01.10.2019 09:07
J.án
Nemá. Něco holt děláš špatně. Bez bližších informací se ale nedá zjistit co.
Wikan 01.10.2019 09:20
Wikan
Tady je celý kód, funguje ti to? <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body…
J.án 01.10.2019 10:33
J.án
Ano, máš pravdu, takhle to nefunguje protože tomu přiřazuješ anonymní funkci. Následující způsoby j…
Wikan 01.10.2019 10:44
Wikan
Tak super, díky moc za názornou ukázku.. poslední
J.án 01.10.2019 11:00
J.án

Chci to k otestování aplikace, že se volají všechny fukce a ve správném pořadí.

Tak jsem našel funkční tohle

console.log(arguments.callee.name);

Problém ale je, že mi to nejde vypsat i na stránku, jde to jen do console.log().

Tohle nefunguje

var name = arguments.callee.name;
document.querySelector('BODY').innerHTML = name;

Nevíš proč tomu tak je?

Tak něco doporuč k testování, ;-) používám VS Code

I tohle ti funguje?

myApp.next.num = function() {
  var name = arguments.callee.name;
  document.querySelector('ARTICLE').innerHTML = name;
}

nebo jen tohle

function test() {
  var name = arguments.callee.name;
  document.querySelector('ARTICLE').innerHTML = name;
}

Ve funkci to funguje i mě.

Tady je celý kód, funguje ti to?

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>

var app = {};
app.foo = {};

function myapp(){
  var name = arguments.callee.name;
  document.querySelector('BODY').innerHTML = name;
}

app.foo.bar = function(){
  var name = arguments.callee.name;
  document.querySelector('BODY').innerHTML = name;
}

myapp();
app.foo.bar();

</script>
</body>
</html>

Ano, máš pravdu, takhle to nefunguje protože tomu přiřazuješ anonymní funkci.

Následující způsoby jsou funkční:

app.foo = {
  bar: function() {
    var name = arguments.callee.name;
    document.querySelector('BODY').innerHTML = name;
  }
}
// -------------
var bar = function() {
  var name = arguments.callee.name;
  document.querySelector('BODY').innerHTML = name;
}
app.foo.bar = bar;
// -------------
app.foo.bar = function bar() {
  var name = arguments.callee.name;
  document.querySelector('BODY').innerHTML = name;
}

Zpět do poradny Odpovědět na původní otázku Nahoru