Time.timeScale=0 Problem Help please

I have a problem with Time.timeScale

function Update () {
    Time.timeScale = 0;

}

If i use the upper code actually its speed up my player move twice

but if i use

function Update () {

if(Input.GetKey ("h")){
Time.timeScale = 0;
}

}

It pause the game. Whats the problem Thanks.

Sorry for bad English

Do this instead:

function Update () 
{
 
   if(Input.GetKey ("h"))
   {
      Time.timeScale = 0;
   }
   else
   {
      Time.timeScale = 1;
   }
 
}