javascript由什么执行(javascript代码是在浏览器上执行吗,还是在TOMCAT服务器上执行)

本文目录
- javascript代码是在浏览器上执行吗,还是在TOMCAT服务器上执行
- javascript是顺序执行吗
- 解释执行JavaScript的是
- 问一个javascript的执行问题,恳请高手解释
- 有几种形式执行javascript代码
javascript代码是在浏览器上执行吗,还是在TOMCAT服务器上执行
JavaScript代码作为嵌入的脚本大致来说也算做HTML文档的组成部分
所以它是在浏览器执行的,和服务器没有关系。js实在浏览器里面解释执行的,每一个浏览器都有自己的js解释器,但是不同的浏览器的解释器会有不同 所以就有了兼容一说,这也是程序员最蛋疼的地方
javascript是顺序执行吗
是的。是顺序执行,至上而下。
具体的,可能需要区分下,
1、JavaScript是一种描述型脚本语言,由浏览器进行动态的解析与执行。函数的定义方式大体有以下两种,浏览器对于不同的方式有不同的解析顺序。
代码如下:
//“定义式”函数定义
function Fn1(){
alert("Hello World!");
}
//“赋值式”函数定义
var Fn2 = function(){
alert("Hello wild!");
}
2、页面加载过程中,浏览器会对页面上或载入的每个js代码块(或文件)进行扫描,如果遇到定义式函数,则进行预处理(类似于C等的编译),处理完成之后再开始由上至下执行;遇到赋值式函数,则只是将函数赋给一个变量,不进行预处理(类似1中变量必须先定义后引用的原则),待调用到的时候才进行处理。
代码如下:
//“定义式”函数定义
Fn1();
function Fn1(){
alert("Hello World!");
}
正常执行,弹出“Hello World!”,因为浏览器对Fn1进行了预处理,再从Fn1();开始执行
代码如下:
//“赋值式”函数定义
Fn2();
var Fn2 = function(){
alert("Hello wild!");
}
Firebug报错:Fn2 is not a function,浏览器未对Fn2进行预处理,因为是赋值,依序执行,所以报错Fn2未定义。
3. 代码块及js文件的处理
“代码块”是指一对《script type=”text/网页特效”》《/script》标签包裹着的js代码,文件就是指文件啦,废话:D
浏览器对每个块或文件进行独立的扫描,然后对全局的代码进行顺序执行(2中讲到了)。所以,在一个块(文件)中,函数可以在调用之后进行“定义式”定义;但在两个块中,定义函数所在的块必须在函数被调用的块之前。
很绕口,看例子就可以知道:
《script type="text/javascript"》
Fn();
《/script》
《script type="text/javascript"》
function Fn(){
alert("Hello World!");
}
《/script》
// 报错:Fn is notdefined,两个块换过来就对了
4. 重复定义函数会覆盖前面的定义 ,这和变量的重复定义是一样的
5. body的onload函数与body内部函数的执行,body内部的函数会先于onload的函数执行(因为onload是在hmtl页面加载完成后执行,而body内部就是html代码,所有一并加载执行了)
解释执行JavaScript的是
C.浏览器
javascript是解释执行语言,不需要编译器的介入,
服务器只对动态脚本进行解释或执行(如:asp,php,jsp,cgi...)。
鼠标离开只是事件中的一个。
问一个javascript的执行问题,恳请高手解释
有人告诉我:javascript脚本只会在用户的客户端执行
这句话正确 javascript由客户端浏览器负责解释执行 服务器端只负责把这些代码发送到客户端浏览器而已
《body onload="input_button_click()"》
其中input_button_click()是我自己在《head》《/head》中定义的函数,那么请问onload是在用户端执行吗? 是在客户端执行的 服务器端把所有的js代码连同html代码一同发往客户端 也就是说你的函数也是你写的input_button_click方法也发送到了客户端 由浏览器解释执行
再有,究竟什么是在服务器端执行?服务器端翻译jsp成java代码 所有的jsp最终会被翻译成java类放到tomcat\work\Catalina\localhost\工程名\org\apache\jsp目录中,文件名是类似这样的xxx_jsp.java,有服务器负责把这些jsp翻译成Java代码,jsp中所有有关html 和js的东西都会翻译成这样---》
out.write("《html》\r\n");
out.write("《head》\r\n");
out.write("《script》\r\n");
out.write("\t function xxx() \r\n");
这样你就会明白服务器为什么不自己加载js代码了~~ 因为翻译后把js代码只是打印成string向客户端输出!!
假设我用服务器上的IE浏览器打开了一个服务器上的网页,那么我用的IE浏览器算是客户端还是服务器端?? ---》客户端 只不过是你的机器现在同时充当了服务器端和客户端而已 服务器就是服务器 单纯的tomcat或者weblogic 没有什么浏览器是跟服务器绑定的
有几种形式执行javascript代码
JavaScript定义方法和JavaScript执行方法
【JavaScript定义方法】:
在HTML文档中加入JavaScript代码有两种方法:嵌入式、链入式。
嵌入式:
把JavaScript代码嵌入在HTML文档中。方法:
《script type="text/javascript"》
JS代码
《/script》
JavaScript代码必须定义在 《script》 和 《/script》 之间。
《script》 标签可以放在 head 区,也可以放在 body 区。
在一个HTML文档中,JavaScript代码可以在多处出现,每一处都要用 《script》 标签括起来。
链入式:
把JavaScript代码放置在一个文本文件中,文件扩展名应该定义为 .js,在HTML文档中加入以下标签:
《script type="text/javascript" src="js文件"》《/script》
src 属性用于指定链入的 js 文件地址。可以是本地文件,也可以是URL。
利用链入式,可以让定义的JavaScript代码被多个网页共享。
【JavaScript执行方法】
定义在HTML文档中的JavaScript代码有两种执行方法:直接执行、事件驱动。
直接执行:
当我们打开一个网页时,所有定义在 《script》 标签或链入的 js 文件中的JavaScript代码就会被执行。
需要注意的是,用 function 定义的函数是不被执行的,函数只有在遇到函数调用时才会执行。
例1:
《script type="text/javascript"》
var d = new Date();
var m = d.getMonth();
if( m》=5 )
document.write( m );
《/script》
以上JavaScript代码是裸放在 《script》 标签中的,当网页打开时,就立即执行。
例2:
《script type="text/javascript"》
function getM()
{
var d = new Date();
var m = d.getMonth();
if( m》=5 )
document.write( m );
}
《/script》
以上JavaScript代码定义的是函数,当网页打开时,函数中的代码不会被执行。当需要执行该函数时,需要使用函数调用。
《script type="text/javascript"》
getM();
《/script》
事件驱动:
当发生某一个事件,如网页被打开、单击鼠标、双击鼠标等,执行某段JavaScript代码。
例如:
《script type="text/javascript"》
var count = 0;
function setCount()
{
count++;
if( count》=5 )
count = 0;
}
《/script》
《button onclick="setCount()"》计数《/button》
本例中,《button》 标签定义了一个按钮,其中的 onclick 属性用于响应一个鼠标单击事件,当用鼠标单击此按钮时,执行 setCount() 函数。
在标签中响应某一事件的属性称为事件句柄,它们的值是JavaScript代码。
常用事件句柄:
onload:
当网页被打开时触发。它仅在 《body》 和 《frameset》 标签中有效。
该事件一般用于执行一些初始化操作。
onunload:
当网页被关闭时触发。它仅在 《body》 和 《frameset》 标签中有效。
该事件一般用于完成一些收尾工作。
onclick:
鼠标单击时触发。它可用于控件、图像、文本、超链接等对象。
该事件用于响应鼠标单击操作,是最常用的一个事件句柄。
ondblclick:
鼠标双击时触发。它可用于控件、图像、文本、超链接等对象。
该事件用于响应鼠标双击操作。
onchange:
当内容改变时触发。它可用于文本框、列表框等对象。
该事件一般用于响应用户修改文本框中内容的操作。
说明:当用户向一个文本框中输入文本时,不会触发onchange事件,只有当用户输入结束后,单击文本框以外的区域,使文本框失去焦点时才触发该事件。
onselect:
当内容被选取时触发。它可用于文本框、列表框等对象。
该事件一般用于响应用户选取了文本框中的内容,以及改变了列表框中选择的项目等操作。
以上只是几个最常用的事件句柄。
说明:事件句柄不是JavaScript代码,而是HTML属性,所以它不区分大小写,但应该养成使用小写字母书写的习惯。
转于网络非原创

更多文章:
docker 运行容器(RunV: 让 Docker 支持虚拟化容器)
2026年3月21日 14:15
电脑出现invalid(电脑PHILIPS出现invalid partition table怎么办)
2025年12月30日 16:15
properties转yml(yml文件常见的几种读取方式)
2025年8月26日 03:30
bootstrap框架过时了吗(为什么前端工程师多不愿意用 Bootstrap 框架)
2025年5月28日 09:30
content的用法和固定搭配(content, contented的区别)
2025年6月9日 22:45
数控加工中心代码大全(数控编程的各系统中的各代码代表的什么意思)
2025年12月26日 14:30
把打乱的字母组成单词,并翻译lwak?英语Using awk to transpoose column to row怎么翻译
2026年7月18日 16:00


















