Hej!
Jag håller på med ett skolprojekt om att skapa en skrivmaskin i javascript. Det har gått bra fram tills nu, då jag vill göra en funktion som räknar alla bokstäver (inte punkter, komman etc). Problemet är att när jag bara på test försöker skriva ut den globala textvariablen får jag bara [Object Text] och jag förstår inte varför. Om jag tar variabeln.length får jag ju ut antalet tecken.
Bifogar koden här. Obs, den sista räknefunktionen är alltså inte klar, jag tror jag kan lista ut den bara jag får det att funka att den skriver ut strängen. Jag låter lärarens kommentarer vara kvar också.
--------------------------------------
"use strict";
var currentParagraph = null;
var counter = 0;
/*
* Du bör också ha en variabel som håller reda på
* hur många paragrafer du har satt ut, så att du
* kan märka upp dem med klasserna even/odd
*/
/*
* Den här funktionen anropas då man trycker på en
* av knapparna med en bokstav, punkt,
* kommatecken eller mellanslag.
*
* Funktionsparametrar:
* c - Variabel som innehåller ett tecken
*/
function addLetter(c){
if(currentParagraph == null)
addParagraph();
else
currentParagraph.appendData(c);
/*
* Här bör du kolla om din globala textnodsvariabel har ett värde,
* om den är null så anropar du addParagraph
*/
/*
* Här bör du lägga in tecknet c till den sparade textnoden
*/
}
/*
* Den här funktionen anroas då man trycker
* på Enter knappen
*/
function addParagraph() {
var element = document.createElement("p");
var node = document.createTextNode(" ");
element.appendChild(node);
document.getElementById("output").appendChild(elem ent);
if(counter % 2 == "1")
element.setAttribute("class", "odd");
else
element.setAttribute("class", "even");
counter++;
currentParagraph = node;
}
function countLetters() {
var count=0;
alert(currentParagraph);
alert(currentParagraph.length);
/*
* Här räknar du antalet bokstäver (a-z) som finns
* i den nuvarande paragrafen (dvs i din globala textnod).
* Antalet bokstäver sparar du till variabeln 'count'.
*/
/*
* Sen avslutar vi med att returnera count variabeln
*/
return count;
}
Jag håller på med ett skolprojekt om att skapa en skrivmaskin i javascript. Det har gått bra fram tills nu, då jag vill göra en funktion som räknar alla bokstäver (inte punkter, komman etc). Problemet är att när jag bara på test försöker skriva ut den globala textvariablen får jag bara [Object Text] och jag förstår inte varför. Om jag tar variabeln.length får jag ju ut antalet tecken.
Bifogar koden här. Obs, den sista räknefunktionen är alltså inte klar, jag tror jag kan lista ut den bara jag får det att funka att den skriver ut strängen. Jag låter lärarens kommentarer vara kvar också.
--------------------------------------
"use strict";
var currentParagraph = null;
var counter = 0;
/*
* Du bör också ha en variabel som håller reda på
* hur många paragrafer du har satt ut, så att du
* kan märka upp dem med klasserna even/odd
*/
/*
* Den här funktionen anropas då man trycker på en
* av knapparna med en bokstav, punkt,
* kommatecken eller mellanslag.
*
* Funktionsparametrar:
* c - Variabel som innehåller ett tecken
*/
function addLetter(c){
if(currentParagraph == null)
addParagraph();
else
currentParagraph.appendData(c);
/*
* Här bör du kolla om din globala textnodsvariabel har ett värde,
* om den är null så anropar du addParagraph
*/
/*
* Här bör du lägga in tecknet c till den sparade textnoden
*/
}
/*
* Den här funktionen anroas då man trycker
* på Enter knappen
*/
function addParagraph() {
var element = document.createElement("p");
var node = document.createTextNode(" ");
element.appendChild(node);
document.getElementById("output").appendChild(elem ent);
if(counter % 2 == "1")
element.setAttribute("class", "odd");
else
element.setAttribute("class", "even");
counter++;
currentParagraph = node;
}
function countLetters() {
var count=0;
alert(currentParagraph);
alert(currentParagraph.length);
/*
* Här räknar du antalet bokstäver (a-z) som finns
* i den nuvarande paragrafen (dvs i din globala textnod).
* Antalet bokstäver sparar du till variabeln 'count'.
*/
/*
* Sen avslutar vi med att returnera count variabeln
*/
return count;
}