Javascriptの恐怖

最近、Jquery縛りをして遊んでるのですが、
その最中にドはまりしたので、
紹介までに

1.

document.getElementById("id").innerHTML = "
please click
"; function click(){ console.log("click!"); }

こいつ動作しないらしい
しかもエラーも言わないのだ、これは分からない

2.

var audio = new Audio();
audio.src="sample.mp3";
audio.play();
var duration = audio.duration; //Nan
var duration = ~~audio.duration //125

なぜかチルダーで整数に返すとNanを返さなくなる
元々なぜNanを返すのか意味が分からないが、
チルダーを使うことで、Nan以外の値を返すことができる

どれも原因が良くわからないが、何とか出力することができた。
一番厄介なのは、やはりエラーすら出力しない1だろう、
実はこれ、こうするとエラーが出るのだがそのエラーは当たり前だが、関数がないというエラーなのだ

document.getElementById("id").innerHTML = "
please click
"; function On_click(){ console.log("click!"); }

もう何が何だか・・・・