I always prefer this approach below
ASPX page
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
In aspx.cs page
Page_Load
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "pageVars", string.Format("var TextBox1 = '{0}';", TextBox1.ClientID),true);
When required use the variable in JS file
function showValue() {
alert(document.getElementById(TextBox1).value);
}