返回顶部
首页 > 资讯 > 前端开发 > html >如何理解JavaScript DOM本质及操作技巧
  • 538
分享到

如何理解JavaScript DOM本质及操作技巧

2024-04-02 19:04:59 538人浏览 八月长安
摘要

这期内容当中小编将会给大家带来有关如何理解javascript DOM本质及操作技巧,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。简单介绍一下JavaScript DOM

这期内容当中小编将会给大家带来有关如何理解javascript DOM本质及操作技巧,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

简单介绍一下JavaScript DOM的本质及操作方法,虽然现在一些JavaScript框架,诸如Jquery、Prototype和MooTools能提高我们的前端开发效率,而且很好的解决了浏览器兼容性问题,但我们仍要打好javascript技术基础。

JavaScript DOM的本质及操作方法

虽然现在一些JavaScript框架,诸如jQuery、Prototype和MooTools能提高我们的前端开发效率,而且很好的解决了浏览器兼容性问题,但我们仍要打好javascript技术基础。文章将介绍JavaScript和文档对象模型(DOM)的本质。

引言JavaScript

JavsScript是可以在各种不同环境下使用的动态的、松散类型(looselytyped)、基于原型的编程语言。除了作为流行的WEB客户端程序语言,它还可以使用于IDE插件pdf文件或给予其它平台甚至更为抽象的概念。

JavaScript是由来自Netscape得BrendanEich创造的基于ECMAScript标准(ECMA-262)的语言。他最初被命名为LiveScript,但后来被改为JavaScript,这也是很多人会把它跟java混淆的原因之一。以下是它的一些特性的详细说明:

◆动态程序语言在运行时执行;他们并没有编译。正因为此,有时JavaScript被认为是一种脚本语言,而不是一个真正的编程语言(显然是一种误解)。

◆松散类型语言不要求强类型系统,如果你使用C或Java编程(与JavaScript不同)声明变量时你就明白必须声明类似’int’(整型)。JavaScript的不同之处在于你用不着指定它的类型。

◆在JavaScript中我们使用原型来实现类似继承的效果,JavaScript不支持类。

◆JavaScript也是函数式语言,它处理函数为优先对象。它是基于lambda下的理念。

理解以上概念对于学习JavaScript这门技术关系并不是很大。只是让大家对JavaScript有个初步正确的的认识,并了解JavaScript与其它编程语言的本质区别。

文档对象模型

文档对象模型(DocumentObjectModel),通常简称为DOM,是网站内容与JavaScript互通的接口。自JavaScript成为最常用的语言时JavaScript和DOM通常被视为独立的实体。DOM接口用于存取、遍历和控制html和XML文档。

下面是关于DOM的一些重要的知识:

◆Window对象作为全局对象,你仅需尝试使用”window”来访问它。Window对象下包含了你的所有要执行的JavaScript代码。就像所有对象都包含属性和方法。

◆属性是存储于对象下的变量。所有在网页中创建的变量都会成为window对象的属性。

◆方法是存储在对象下的函数。在所有函数存储在window对象下时,你可以使用’methods’引用它们。

◆DOM相对于Web文档结构创建层次结构,层次有节点组成。DOM节点有很多不同的类型,其中最重要的要数’Element’、’Text’和’Document’了。

◆‘Element’节点表示在页面中的元素,所以如果在页面中你有一个段落元素(‘

’),那么你可以通过DOM的节点来访问它。

◆‘Text’节点表示在页面中的所有文本(在元素中),所以如果在页面的段落中有一些文本内容,那么你可以通过DOM的节点来访问它。

◆‘Document’节点表示整个文档。(它是DOM树的根节点)

◆另请注意,元素属性是DOM节点本身。

◆不同的布局引擎对于DOM标准的执行是有一定的差别的。例如,使用Gecko布局引擎的FireFox浏览器可以很好的执行(但也并不是完完全全按照W3C规范那样),但使用Trident引擎的IE因它的很多Bug和不完全执行DOM标准而为众人所知。这便是前端开发领域的一大痛苦之处。

网页中的JavaScript元素

当你想在网站上使用JavaScript的时候,需要让它们包含在script元素中:

正如你所见在文档下面有script元素。其实type属性严格来讲应设置为”application/javascript”,但它不出所料的在IE浏览器下无法正常工作,所以我们使用”text/javascript”或不用type属性,如果你在意代码W3C规范验证的话建议你使用前者(“text/javascript”)。

你还会注意到在script元素中我们还有一对被注释掉的代码行,它们告诉支持XHTML的浏览器script元素中的内容是字符数据而不应被解释为XHTML标记。如果你计划在JavaScript代码中使用&rsquo;<&rsquo;或&rsquo;>&rsquo;字符的话那它就是相当必要的。当然,如果你是用普通HTML代码的话,那你完全可以无视它。

defer属性

我们script元素中的JavaScript代码会在页面读过程中执行,***的例外就是当script元素有defer属性的时候。默认情况下,当浏览器遇到script元素时,它会停下来并运行代码,然后再继续进行文档解析。defer属性告诉浏览器代码包含非变更文档代码而且可以稍后执行。它的***问题就是只在IE下可用,所以我们还是要尽量不要使用它了,了解就行。

链接外部脚本

如果你想连接一个外部脚本文件,那么你只需为你的script元素添加一个有文件地址的src属性。把脚本文件独立分离出来进行调用的确相对于内联脚本来说是个好办法,它意味着浏览器可以缓存该文件,而且你都不用担心那些CDATA之类的废话。

JavaScript要点

在我们继续讲DOM之前有必要学习一下JavaScript基础要点,如果有些东西你理解起来有些困难,别担心,你早晚会搞定它的。在JavaScript种不同类型的值,它们是数值、字符串、布尔值、对象、Undefined和Null。单行注释使用两个斜杠(//),这行内的所有内容都将被作为注释内容理解。多行注释使用&rsquo;&rsquo;完成注释段落。

数值

在JavaScript中所有数值都被描绘成浮点值,当定义数值变量时记得不要用引号。

//注:要一直使用'var'来声明变量:varleftSide=100;   vartopSide=50;varareaOfRectangle=leftSide*topSide;   //=5000字符串

你定义的字符串都是有字面上来看,JavaScript不会对它进行处理。一个字符串可由一连串的Unicode字符组成,并由一对双引号或单引号包围。

varfirstPart='Hello';varsecondPart='World!';  varallOfIt=firstPart+''+secondPart;  //HelloWorld!//+号进行字符串连接处理  //(它还可用于数学上的加法运算)

布尔值

布尔类型在你进行条件判断的时候很有用,以了解是否符合指定的标准。布尔有两个可能的值:true和false。任何使用逻辑算法的比较结果都将是布尔值。

5===(3+2);   //=true//你可以给变量声明布尔值:varveryTired=true;   //你可以像这样测试:if(veryTired){//你的代码}

上面看到的&rsquo;===&rsquo;是比较运算符,我们将在后面讨论。

函数

函数是一个专门的对象。

//使用函数操作创建一个新函数:functionmyFunctionName(arg1,arg2){   //这里是函数的代码}   //如果你省略掉函数名,那么你创建的是"匿名函数":function(arg1,arg2){   //这里是函数的代码   }//执行函数仅需对他进行引用并使用圆括号(附带参数):myFunctionName();   //无参数myFunctionName('foo','bar');   //带参数//你也可以在不声明变量的情况下执行函数(function(){   //这就是所谓的自调用匿名函数})();

数组

数组也是一个专门的对象,它可以包含任意数量的数据。要访问数组中的数据你就必须使用数字,用以引用其在数组中的”索引”。

//两种声名数组的不同方式,  //字面:varfruit=['apple','lemon','banana'];  //使用数组构造器:varfruit=newArray('apple','lemon','banana');  fruit[0];//访问数组中的***个数据项(apple)fruit[1];  //访问数组中的第二个数据项(lemon)fruit[2];  //访问数组中的第三个数据项(banana)对象

对象是命名的的值的集合(键-值对),它和数组很相似,***的不同之处在于你可以为每个数据值指定名字。

//两种声明对象的不同方式,  //字面(大括号):varprofile={name:'Li',age:23,job:'WebDeveloper'};  //适用对象构造器:varprofile=newObject();profile.name='Li';  profile.age=23;profile.job='WebDeveloper';if/else语句

if/else语句是JavaScript中最常见的结构,它看上去就像下面这样:

varlegalDrinkingAge=21;varyourAge=23;   if(yourAge>=legalDrinkingAge){   //我们使用'alert'来通知用户:alert('你可以喝水.');   }else{alert('对不起,你不能喝水.');}循环

循环在遍历数组中的数据项或对象的所有成员时非常有用,JavaScript中最常用的循环是for和while语句。

varenvatoTutSites=['NETTUTS','PSDTUTS',  'AUDIOTUTS','AETUTS','VECTORTUTS'];  //WHILE循环varcounter=0;  varlengthOfArray=envatoTutSites.length;  while(counter<lengthOfArray){alert(envatoTutSites[counter]);  counter++;//等同于counter+=1;}  //FOR循环//(Theistandsfor"iterator"-youcouldnameitanything)  for(vari=0,length=envatoTutSites.length;  i<length;i++){alert(envatoTutSites[i]);}

上述就是小编为大家分享的如何理解JavaScript DOM本质及操作技巧了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网html频道。

--结束END--

本文标题: 如何理解JavaScript DOM本质及操作技巧

本文链接: https://lsjlt.com/news/86530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何理解JavaScript DOM本质及操作技巧
    这期内容当中小编将会给大家带来有关如何理解JavaScript DOM本质及操作技巧,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。简单介绍一下JavaScript DOM...
    99+
    2024-04-02
  • JavaScript中如何实现DOM操作
    这篇文章主要为大家展示了“JavaScript中如何实现DOM操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中如何实现DOM操作”这篇文...
    99+
    2024-04-02
  • JavaScript的编程技巧:如何提高代码质量?
    JavaScript是一种广泛使用的编程语言,可以用于开发各种类型的应用程序,包括网站、桌面应用程序、移动应用程序等。然而,编写高质量的JavaScript代码并不容易。在本文中,我们将探讨一些JavaScript编程技巧,以提高代码质量。...
    99+
    2023-10-15
    编程算法 javascript git
  • 如何理解JavaScript HTML DOM对象
    如何理解JavaScript HTML DOM对象,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。和大家重点讨论一下JavaScript HTM...
    99+
    2024-04-02
  • javascript如何操作单个dom元素添加动画
    这篇文章主要讲解了“javascript如何操作单个dom元素添加动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript如何操作单个dom元...
    99+
    2024-04-02
  • Java 文件操作的哲学:理解文件的本质
    文件是计算机系统中信息存储和管理的基本单元,也是 Java 文件操作的核心关注点。理解文件的本质对于有效地操作和管理文件至关重要。 抽象和层次结构 文件本质上是一个抽象概念,代表着存储在持久介质(例如磁盘或内存)中的一组数据。文件的逻辑结...
    99+
    2024-04-02
  • 如何理解JavaScript DOM中的Node节点
    如何理解JavaScript DOM中的Node节点,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在DOM(文档对象模型)中,HTML文档...
    99+
    2024-04-02
  • Linux脚本操作的数据处理技巧与Python实现
    Linux脚本操作的数据处理技巧与Python实现引言:在日常工作中,数据处理是一个重要的环节。而在Linux系统中,使用脚本进行数据处理是非常高效的方法。本文将介绍一些在Linux脚本操作中常用的数据处理技巧,并结合Python语言,给出...
    99+
    2023-10-22
    Python Linux 脚本 数据处理
  • 如何理解DevOps的本质及行业现状与趋势
    如何理解DevOps的本质及行业现状与趋势,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。手工编译,上传服务器文件,执行各种命令,启动和停止服务器,发现一个 BUG,改完再重复之...
    99+
    2023-06-04
  • JavaScript基于DOM操作如何实现数学运算功能
    这篇文章主要介绍了JavaScript基于DOM操作如何实现数学运算功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:<!D...
    99+
    2024-04-02
  • JavaScript 事件委托:理解和掌握 DOM 操作的秘密武器
    JavaScript 事件委托是一种强大的技术,它允许您以一种更有效的方式处理事件。它可以帮助您减少代码量,提高性能,并使您的代码更容易维护。 事件委托是如何工作的? 当您在 DOM 元素上添加一个事件监听器时,浏览器将在该元素上创建一...
    99+
    2024-02-06
    JavaScript DOM 事件委托 事件处理 性能 可维护性
  • 揭开 PHP 图片处理的面纱:理解图像操作的本质
    PHP 中的图像库 PHP 提供了两个主要的图像处理库:GD 和 Imagick。GD 是一个简单且轻量级的库,适用于基本图像操作。它提供了裁剪、缩放和旋转等功能。另一方面,Imagick 是一个更强大的库,它支持更复杂的操作,例如颜色调...
    99+
    2024-04-02
  • 如何理解JavaScript变量、作用域及内存
    这期内容当中小编将会给大家带来有关如何理解JavaScript变量、作用域及内存,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。基本类型值有:undefined,NUll,...
    99+
    2024-04-02
  • JavaScript如何增加本地操作API进行直接操作本地文件
    JavaScript如何增加本地操作API进行直接操作本地文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Chrome、IE和Firef...
    99+
    2024-04-02
  • win8资源管理器的必备操作技巧图文详解
      Win8的资源管理器界面采用类似Office2010的Ribbon界面风格,从对于文件的简便与直观操作来说,比Win7要优越的多。所以想要熟练掌握Win8的资源管理器,就必须熟悉Ribbon界面的必备操...
    99+
    2022-06-04
    资源管理器 详解 操作技巧
  • 如何理解Django ORM操作
    这篇文章主要讲解了“如何理解Django ORM操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Django ORM操作”吧!查询聚合操作聚合操作...
    99+
    2024-04-02
  • 如何理解grep的操作
    这篇文章给大家介绍如何理解grep的操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。[root@irac01 ~]# ps -ef|grep '2034\|2035\|2005\|2037'gdm &...
    99+
    2023-06-06
  • 如何理解Oracle数据库并行操作常见等待事件及脚本
    这篇文章给大家介绍如何理解Oracle数据库并行操作常见等待事件及脚本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。小编主要介绍Oracle数据库在并行操作过程中 slave 进程和 ...
    99+
    2024-04-02
  • 如何理解Backbone.js 的技巧和模式
    这篇文章将为大家详细讲解有关如何理解Backbone.js 的技巧和模式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Backbone.js是一个开源Jav...
    99+
    2024-04-02
  • 如何理解CSS十则布局技巧
    本篇文章给大家分享的是有关如何理解CSS十则布局技巧,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。向大家描述一下CSS技巧十则,主要包括CSS...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作