重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
JavaScript在IE浏览器和Firefox浏览器中存在一些差异,以下对这些差异部分进行了总结,以及解决方案:
桓台网站建设公司创新互联建站,桓台网站设计制作,有大型网站制作公司丰富经验。已为桓台上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的桓台做网站的公司定做!
1.HTML对象的 id 作为对象名的问题
IE:HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用
Firefox:不支持
解决方法:使用document.getElementById替代document.all
2.如果控件只有name,没有id, 用getElementById时:
IE:可以找到对象
Firefox:返回NULL
解决方法:所有控件必须设置ID属性
3.Evel:
IE:支持,利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象
Firefox:不支持
解决方法:统一使用getElementById(idName) 代替 eval(idName)。
4.Event:
IE:用全局对象window.event
Firefox:event只能在事件发生的现场使用,在调用函数时传入event对象
解决方法:使用之前做一下浏览器类型判断,各用各的。
5.对象名称中美元符号‘$’ 改为使用下划线‘_’
6.集合类对象问题
IE:可以使用()或[]获取集合类对象
Firefox:只能使用[]获取集合类对象
现有代码中存在许多,不能在 Firefox 下运行
解决方法:统一使用[]获取集合类对象。document.form.item(“itemName”) 这样的语句改为document.form.elements["elementName"]
7.变量名与某 HTML 对象 id 相同的问题
IE:不能使用与 HTML 对象 id 相同的变量名
Firefox:可以使用
解决方法:在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误。
8.Event定位问题
IE:支持event.x 和event.y
Firefox:支持event.pageX和event.pageY
解 决方法,统一使用event.clientX和event.clientY,但是在Firefox中event.clientX 与 event.pageX 有微妙的差别(当整个页面有滚动条的时候),不过大多数时候是等效的。如果要完全一样,可以判断浏览器类型后对应使用。
9.父结点的问题
IE:parentElement parentElement.children
Firefox:parentNode parentNode.childNodes
childNodes的下标的含义在IE和Firefox中不同,Firefox使用DOM规范,childNodes中会插入空白文本节点。一般可以通过node.getElementsByTagName()来回避这个问题。
当html中节点缺失时,IE和Firefox对parentNode的解释不同。例如:
form table input/ /table /form
IE:input.parentNode的值为空节点
Firefox:input.parentNode的值为form
解决方法:Firefox中节点没有removeNode方法,必须使用如下方法 node.parentNode.removeChild(node)
10.const 问题
IE:不支持 const 关键字。如 const constVar = 32; 在IE中这是语法错误
Firefox:支持
解决方法:不使用 const ,以 var 代替。
11.body 对象
IE:在body标签完全被读入之后才存在
Firefox:在body标签没有被浏览器完全读入之前就存在
12.自定义属性问题
IE:可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性
Firefox:只能使用getAttribute()获取自定义属性.
解决方法:统一通过getAttribute()获取自定义属性
13.event.srcElement问题
IE:even.srcElement
Firefox:even.target
解决方法:使用时判断浏览器类型,各用各的。
14.模态和非模态窗口
IE:支持模态和非模态窗口
Firefox:不支持
解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口。
15.innerText
IE:innerText
Firefox:textContent
16.类似 obj.style.height = imgObj.height 的语句
IE:有效
Firefox:无效
解决方法:统一使用obj.style.height = imgObj.height + ‘px’;
程序员和用户经常在Java和JavaScript之间感到困惑。认为Java和JavaScript相同。如果从表面看,它们可能看起来一样。 由于Java和JavaScript均指相同的OOP语言,并且共享相同的控制结构和运算符。但是,当您单独学习它们时,您将了解它们彼此完全不同。尽管有这些相似之处,但它们在各个方面都有所不同。
Java
Java是James Gosling发明并由Sun Microsystems开发的一种流行的计算机软件编程语言。它是1995年创建的通用高级编程语言。Java是一种面向对象的语言,旨在为您提供C ++的感觉。但是,它比C ++更简单易用。 Java最初被命名为OAK,但后来又更改为Java。借助其虚拟机平台,它允许您创建可在几乎所有平台上运行的编译程序。
JavaScript
JavaScript是HTML和Web的轻量级编程语言,用于使网页具有交互性。作为一种多范式语言,它支持事件驱动,功能,命令和编程样式。 JavaScript网页实现允许客户端脚本与用户交互并创建动态页面。它最初被称为LiveScript,但后来Netscape将其名称更改为JavaScript。
Java和JavaScript之间的差异
认为Java和JavaScript相同是一种非常普遍的看法。但事实是,除了Java之外,它们之间没有其他共同之处。两者是完全不同的,彼此无关。它们的工作,功能和功能都非常不同。
这是Java和JavaScript作为编程语言之间的主要区别的列表。 由于Java具有许多重要功能,因此它是最常用的编程语言。另一方面,JavaScript具有Java缺少的某些功能。JavaScript不需要任何编译器或编辑器,它被认为是最容易学习的语言。
JavaScript 的基本语法和对象体系,是模仿 Java 而设计的。但是,JavaScript 没有采用 Java 的静态类型。正是因为 JavaScript 与 Java 有很大的相似性,所以这门语言才从一开始的 LiveScript 改名为 JavaScript。基本上,JavaScript 这个名字的原意是“很像Java的脚本语言”。
JavaScript 语言的函数是一种独立的数据类型,以及采用基于原型对象(prototype)的继承链。这是它与 Java 语法最大的两点区别。JavaScript 语法要比 Java 自由得多。
另外,Java 语言需要编译,而 JavaScript 语言则是运行时由解释器直接执行。
总之,JavaScript 的原始设计目标是一种小型的、简单的动态语言,与 Java 有足够的相似性,使得使用者(尤其是 Java 程序员)可以快速上手。
这就是这两者的区别与联系,希望回答对你有多帮助
区别如下:\x0d\x0a一、javascript与Java是由不同的公司开发的不同产品。javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言;\x0d\x0a而Java是SUN Microsystems公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发。实际上,javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是经过SUN Microsystems公司授权的。\x0d\x0a二、javascript是基于对象的,它是一种脚本语言,是一种基于对象和事件驱动的编程语言,因而它本身提供了非常丰富的内部对象供设计人员使用。而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序也必须设计对象。 \x0d\x0a三、javascript与Java嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,javascript使用来标识,而Java使用Applet来标识。 \x0d\x0a四、javascript与Java在浏览器中所执行的方式不一样。javascript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,即javascript语句本身随Web页面一起下载下来,由浏览器解释执行。而Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码。 \x0d\x0a五、javascript与Java代码格式不一样。javascript的代码是一种谋咀址格式,可以直接嵌入HTML文档中,并且可动态装载,编写HTML文档就像编辑文本文件一样方便,其独立文件的格式为*.js。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中,其独立文件的格式为*.class。 \x0d\x0a六、javascript与Java所采取的变量是不一样的。\x0d\x0ajavascript中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。Java采用强类型变量检查,即所有变量在编译之前必须作声明。 \x0d\x0a七、javascript采用动态联编,即javascript的对象引用在运行时进行检查。Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。 \x0d\x0a八、javascript不直接对文本和图形进行操作,它在Web页面中与HTML元素组合一起发挥作用,但它可以控制浏览器,让浏览器直接对文本和图形进行处理。而Java则可以直接对文本和图形进行操作。
JavaScript和Java的区别:
1、用处不一样:
它们最本质的不同就是用途:Java目前被广泛应用于PC端、手机端、互联网、数据中心等等;
而JavaScript则被主要用于嵌入文本到HTML页面,读写HTML元素,控制cookies等。
2、出身不同:
Javascript与Java是由不同的公司开发的不同产品。Javascript是Netscape公司的脚本语言;而Java是SUN Microsystems 公司推出的新一代面向对象的程序设计语言。
3、嵌入方式不同:
在HTML文档中,两种编程语言的标识不同,Javascript 使用lt;scriptgt;lt;/scriptgt; 来标识;而 Java 使用 Applet 来标识。
Java的特点:
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。
因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
以上内容参考百度百科——JavaScript,百度百科——Java
以下是我总结的一些区别,希望能够帮助到你:
JavaScript
JavaScript是一种脚本语言,是Web开发的主要语言,并且是世界上最受欢迎的脚本语言之一。JavaScript是一种动态客户端脚本语言,用于生成网页和Web应用程序。JavaScript通常仅在Web浏览器中运行。与HTML结合使用时,JavaScript用于创建交互式Web功能和其他有用的属性。该语言也是生成Web图形,小部件和移动功能时的最爱。JavaScript是一种适合初学者的语言,尤其是在Web开发是最终目标的情况下。
Python
Python是一种动态且功能强大的面向对象编程语言。这种高级语言主要用于开发应用程序,但它还有许多其他用途。程序员将这种语言用于Web应用程序,桌面软件程序等,甚至可以使用Python对整个操作系统进行编程。该语言还用于数据分析,机器学习和开发游戏。它被认为易于学习,通常建议将Python编码作为第一语言。
Python和JavaScript:相似之处
Python和JavaScript在使用和结构上有一些明显的相似之处。这两种语言都是面向对象的,因此非常适合大型和复杂的软件开发。
此外,Python和JavaScript都是动态类型化的高级编码语言。因此,学习JavaScript和Python相当容易。
开发人员在网站开发中都大量使用这两者,这使它们成为所有完整堆栈产品组合的绝佳补充。除了这些相似之处,Python和JavaScript还是有很大的不同。
Python与JavaScript:差异
Python比JavaScript具有更多的应用程序。游戏,软件程序,移动开发和数据分析完全可以使用Python完成,这使其成为许多领域开发人员的热门选择。
此外,JavaScript和Python经常出现在Web开发的相反两端。JavaScript主要是前端(或客户端)开发语言,而程序员通常在网站项目的后端(或服务器端脚本)上使用Python。JavaScript通常与HTML和CSS结合使用,而Python通常单独使用。