Por que não funciona esse código?

Front-end

17/01/2017

Crie um código em Javascript que apresente o número de dias entre hoje e o próximo natal..
Porque , não funciona esse código ? , foi tirado como resposta do livro JavaScript a Bíblia ....
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>wating for santa</title>
<meta charset="utf-8" />
SCRIPT LANGUAGE="JavaScript">
function daysToXMas(){
var oneDay = 1000 *60*60*24
var today = new Date()
var XMAS = new date("December 25,2017")
var diff= XMAS.getTime()-today.getTime()
return Math.ceil(diff/oneDay)
}
</script>

</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
document.write(daysToXMAS() + days until Christmas.")
</</SCRIPT>
</body>
</html>

Essa dúvida foi gerada a partir de um comentário no artigo Trabalhando com data e hora em JavaScript
Antonio Gomes

Antonio Gomes

Curtidas 0

Respostas

Gutierry Pereira

Gutierry Pereira

17/01/2017

Bom dia,
Esse código esta com uma serie de pequenos erros.
1 - O primeiro "SCRIPT" não esta devidamente aberto com "<"
2 - O ultimo não esta devidamente fechado, "</</SCRIPT>" deveria estar "</SCRIPT>"
3 - Java script é case sensitive, o uso do date na linha 11 deve ser com "D" maisculo
4 - A funcção daysToXMas foi declarada com as 2 ultimas letras em minuscula e foi usada com elas em maiscula. "daysToXMAS"
5 - esta faltando as aspas (") da abertura da string na linha 19, ficando assim document.write(daysToXMas() + "days until Christmas.")



<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>wating for santa</title>
<meta charset="utf-8" />
<SCRIPT LANGUAGE="JavaScript">
	
function daysToXMas(){
var oneDay = 1000 *60*60*24
var today = new Date()
var XMAS = new Date("December 25,2017")
var diff= XMAS.getTime()-today.getTime()
return Math.ceil(diff/oneDay)
}
</SCRIPT>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
	document.write(daysToXMas() + "days until Christmas.")
</SCRIPT>
	
</body>
</html>


Sempre que possivel faça o uso do console do navegador, ele irá te ajudar a identificar os erros.

Espero ter ajudado.

Abraços
GOSTEI 0
Antonio Gomes

Antonio Gomes

17/01/2017

O senhor não só ajudou , o senhor deu aula, como um profissional....é isso que eu chamo de professor "DOUTOR".....
Agradecido...
GOSTEI 0
Gutierry Pereira

Gutierry Pereira

17/01/2017

Huahuahauah. ;)
Precisar estou a disposição.
Abraços
GOSTEI 0
Antonio Gomes

Antonio Gomes

17/01/2017

Mestre
Como bom brasileiro , vou "abusar" da sua BOA VONTADE, e perguntar :Estou usando os 4 navegadores básicos na data de hoje , mas tenho uma preferência pelo "Microsoft Edge", como eu faço , para descobrir pelo console , se existe erro neste código abaixo....TEM COMO EXPLICAR POR AQUI?
Conferi esse código , e está igual ao livro...tive o cuidado para evitar os "erros", anteriores.........tirei do livro "Javascript a Bíblia", 4ª edição páginas 119,120,121......por ser uma edição antiga o código é longo....e a tecnologia aqui é muito simples...só realçando os botões com o passar do mouse...mas não funcionou......

<!DOCTYPE html>
<html lang="pt-br">
<HEAD>

<TITLE>Jukebok/Image Roll Lovers</TITLE>
<meta charset="UTF-8">
<SCRIPT LANGUAGE="JavaScript">
if(document.images){
// coloca em cache todas as imagens de botão "desligado"
var offImgArray = new Array()
offImgArray["play"] = new Image(75,33)
offImgArray["stop"] = new Image(75,33)
offImgArray["pause"] = new Image(75,33)
offImgArray["rewind"] = new Image(86,33)

// array de imagens desligadas - define o caminho da imagem 'deligada' para cada botão
offImgArray["play"].src = "Images/playoff.jpg"
offImgArray["stop"].src = "Images/stopoff.jpg"
offImgArray["pause"].src = "Images/pauseoff.jpg"
offImgArray["rewind"].src = "Images/rewindoff.jpg"

// coloca em cache todas as imagens de botão 'ligado'

var onImArray = new array()

onImgArray["play"] = new Image(75,33)
onImgArray["stop"] = new Image(75,33)
onImgArray["pause"] = new Image(75,33)
onImgArray["rewind"] = new Image(86,33)

//Array de imagens ligadas - define o caminho da imagem "ligada" para cada botão

onImgArray["play"].src = "images/playon.jpg"
onImgArray["stop"].src = "images/stopon.jpg"
onImgArray["pause"].src = "images/pauseon.jpg"
onImgArray["rewind"].src = "images/rewindon.jpg"

}

//Funções que trocam imagens & barra de status
function imageOn(imgName){
if (document.images).images) {
document.images[imgName].src = onImArray[imgName].src
}
}
function imageOff(imgName) {
if (document.images){
document.images[imgName].src = offImgArray[imgName].src
}
}

function setMsg(msg) {
window.status = msg
return true
}

// controller functions (disabled)

function playIt() {
}
function stopIt() {

}
function pauseIt() {
}
function rewindIt(){
}


</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<FORM>
Jukebok Controls<BR>
<A HREF="javascript:playIt()"
onMouseOver="imageOn('play'); return setMsg('Play the selected tune')"
onMouseOut="imageOff('play'); return setMsg('')">
<IMG SRC= "images/playoff.jpg" NAME="play" HEIGHT=33 WIDTH=75 BORDER=0>
</A>
<A HREF="javascript:stopIt()"
onMouseOver="imageOn('stop'); return setMsg('Stop the playing tune')"
onMouseOut="imageOff('stop'); return setMsg('')">
<IMG SRC= "images/stopoff.jpg" NAME="stop" HEIGHT=33 WIDTH=75 BORDER=0>
</A>
<A HREF="javascript:pauseIt()"
onMouseOver="imageOn('pause'); return setMsg('Pause the playing tune')"
onMouseOut="imageOff('pause'); return setMsg('')">
<IMG SRC= "images/pauseoff.jpg" NAME="pause" HEIGHT=33 WIDTH=75 BORDER=0>
</A>
<A HREF="javascript:rewindIt()"
onMouseOver="imageOn('rewind'); return setMsg('Rewind back to the beginning')"
onMouseOut="imageOff('rewind'); return setMsg('')">
<IMG SRC= "images/rewindoff.jpg" NAME="rewind" HEIGHT=33 WIDTH=86 BORDER=0>
</A>
</FORM>
</CENTER>
</BODY>
</HTML>
GOSTEI 0
Gutierry Pereira

Gutierry Pereira

17/01/2017

Opa, esta com erros nas linhas 42,77,82 2 92.
Tanto no Edge quando no chrome basta que pressione F12, então será aberto uma tela, você terá nela uma aba console. Lá ira mostrar os erros encontrados e a sua linha.
Os consoles do Chrome e Mozilla são mais completos ao meu ver. Mas fica a seu critério.
De inicio será meu chato e complicado entender os erros no console, com tempo vai se acostumar com os erros e será mais facil a analise.

Obs. Seu console é seu melhor amigo. huahaua
Deixe sempre o console aberto para analisar oq esta acontecendo.
GOSTEI 0
Antonio Gomes

Antonio Gomes

17/01/2017

Dê uma olhada , nesse livro na página 198 (copie e cole o endereço no seu navegador)........e veja que simplesmente copiei o código :

file:///C:/Users/acgen/MeusEstudosTecnologia30.12.2016/JavaSdcriptBilblia/javascript_bible.pdf
GOSTEI 0
Antonio Gomes

Antonio Gomes

17/01/2017

Como faço para ENCERRAR ESSE TÓPICO ?
GOSTEI 0
POSTAR