JS定义的位置

JS定义<script>...</script>我放在html标签前面不好使,放在html标签后面好使,是这样吗?应该放哪啊?... JS定义<script>...</script>我放在html标签前面不好使,放在html标签后面好使,是这样吗?应该放哪啊? 展开
 我来答
百度网友87b161c
2009-09-21 · TA获得超过297个赞
知道答主
回答量:95
采纳率:0%
帮助的人:138万
展开全部
<script>...</script>
这个标签放的位置你首先要了解页面加载顺序.
HTML页面是从上至下顺序加载的.最后全加载完执行onload事件
你现在这种情况放在前面不好使,我估计你是在其中直接执行了调用页面元素的方法.
例子1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
alert(document.all("a").value);
//-->
</SCRIPT>
</HEAD>

<BODY>
<INPUT TYPE="text" NAME="a" value="xxxx">
</BODY>
</HTML>
例子2:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<INPUT TYPE="text" NAME="a" value="xxxx">
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert(document.all("a").value);
//-->
</SCRIPT>
例子3:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function aa(){
alert(document.all("a").value);
}
//-->
</SCRIPT>
</HEAD>

<BODY onload="aa()">
<INPUT TYPE="text" NAME="a" value="xxxx">
</BODY>
</HTML>
你运行下这3个例子分别是3类情况
青鸟中关村专家
2018-07-06 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部

一、js全局变量和局部变量

1、全局变量和它的作用域
  全局变量是指在程序开头的说明部分定义和说明的量。它的作用域分为两种情况:
    1)在全局变量和局部变量不同名时,其作用域是整个程序。
    2)在全局变量和局部变量同名时,全局变量的作用域不包含同名局部变量的作用域。
2、局部变量和它的作用域
  凡是在子程序内部使用的变量,必须在子程序中加入说明。这种在子程序内部说明的变量称为局部变量。局部变量的作用域是其所在的子程序。形式参数也只能在子程序中有效。因此也属于局部变量。局部变量的作用域分为两种情况:
    1)当外层过程序的局部变量名和嵌套过程中的局部变量不同名时,外层过程的局部变量作用域包含嵌套过琛。
    2)当外层过程的局部变量名和嵌套过程内的局部变量名同名时,外层局部变量名的作用域不包含此过程。


二、js定义变量需要注意以下内容:

1、Javascript的变量的scope是根据方法块来划分的(也就是说以function的一对大括号{ }来划分);切记,是function块,而for、while、if块并不是作用域的划分标准

2、Javascript在执行前会对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定实变量的作用域

3、当全局变量跟局部变量重名时,局部变量的scope会覆盖掉全局变量的scope,当离开局部变量的scope后,又重回到全局变量的scope


三、js定义变量时,var和this的区别

1、var的规则是: 使用var声明变量就是内部变量, 否则就是先调用全局变量, 不管多少层函数
2、this的规则是: method函数里的this永远指向自身, 普通函数的this永远指向DOMWindow


附件为var和this区别的示例代码!

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杜爷1号
推荐于2016-12-06 · 知道合伙人软件行家
杜爷1号
知道合伙人软件行家
采纳数:4973 获赞数:9186
毕业于福建农林大学,本科学士学位。从事IT行业3年,曾参与过多个大型项目的需求调研、软件研发。

向TA提问 私信TA
展开全部
  js代码可以放在jsp的<head></head>中,也可以放在<body></body>中。引用js代码也是有分2种方式的:
  1、单独写个文件夹,然后写个js文件放置放在文件夹里,然后在jsp页面通过
  <script src="js文件的相对地址">来导入。
  2、通过<script type="text/javascript"></script>标签,将js代码放入标签里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式