现在的位置: 首页 > 综合 > 正文

JavaScript程序应该由桃园三结义组成

2014年09月12日 ⁄ 综合 ⁄ 共 5303字 ⁄ 字号 评论关闭

转自:http://blog.csdn.net/mingxuanyun/article/details/18699667

  我们在提到Javascript的时候,都会说JavaScript实现了Web浏览器的交互功能,但是我们在为JavaScript祝酒之时,请不要忘记与其并肩作战的开国元勋——BOM和DOM。坦率地讲,一个JavaScript程序应该由以下3部分组成:

  • Core(JavaScript核心编程)
  • BOM(浏览器对象模型)
  • DOM(文档对象模型

一、BOM(浏览器对象模型)

  1. 定义:BOM也叫浏览器对象模型,提供了很多对象,用于访问浏览器的功能。
  2. 目的:通过脚本访问和操作浏览器窗口。
  3. 特点:BOM是JavaScript应用中唯一没有相关标准的部分
  4. 用途:处理浏览器窗口和框架(客户端Javascript脚本语言的扩展)

常见对象:

(一)window对象表示浏览器的一个实例。是客户端JavaScript的全局对象,客户端JavaScript程序正是在Window对象提供的全局域空间中运行的。
Window对象处于Javascript结构的最顶层,对于每个打开的窗口,系统都会自动为其定义window对象。实际上,Window对象代表的是一个浏览器窗口或者窗口中的一个框架。


1.全局作用域:

   在客户端浏览器重,Window作为全局对象,也称为第一类对象。所有客户端JavaScript代码都将在全局环境中运行。作为全局环境,Window对象提供了全局作用域。

例如:

  1. var a ="window.a";            
    //全局变量 
  2. function f(){                     
    //全局函数 
  3.     alert(a); 
  4. alert (window.a);              //引用window对象的属性a,返回字符串"window.a" 
  5. window.f();                      //调用window对象的方法f(),返回字符创”window.a“ 


2.生命周期

    与一般对象不同,Window对象存在于浏览器当前进程中。也就是说,如果当前浏览器的进程没有被终止,Window对象依然会存在。

    例如:新建一个窗口,然后关闭,再原窗口中检测已关闭窗口的Window对象是否存在。

  1. <body> 
  2. <script> 
  3. function fw(){ 
  4.     w=window.open(); 
  5. </script> 
  6. <input
    type ="button"
    value ="新建一个window对象"
    onclick="fw();"/> 
  7. <input
    type ="button"
    value ="检测window对象是否存在"
    onclick="alert(w.alert)"/> 
  8.  
  9. </body> 


    在上面的例子当中,在IE和FireFox浏览器中因为几个窗口同为一个进程,所以不管是否关闭,都会检测到新开窗口的Window对象,而对于Chrome浏览器来说,由于每新开一个窗口,都会新建一个进程,所以当关闭新开窗口时,原窗口中就不会检测到新建的Window对象。


常用系统弹出框:

  • alert():提示对话框 ,包含一个可选提示信息参数。
  • confirm():提示对话框,包含两个按钮(确定、取消),点击确定,返回true;点击取消,返回false;
  • prompt():接收用户输入信息框,并把用户输入的信息返回。


 

(二)Location对象:包含当前页面与位置(URL)相关的信息。该对象存储在Window对象的location属性中,表示特定窗口中当前显示 文档的Web地址。

常见方法:

  • reload():重新装载当前文档
  • replace():装载一个新文档而无须为它创建一个新的历史记录。


 

三)History对象:是
window 对象的属性,它保存着用户上网的记录,从窗口被打开的那一刻算起。

常见方法:

  • back():返回到前一个URL
  • forward():返回下一个URL
  • go():根据不同的参数决定访问的URL
    • 正整数:在历史列表中向前移动
    • 负整数:在历史列表中向后移动
    • :刷新页面
    • 字符串:检索包含该字符串的URL,并访问第一个检索到的URL。


 

二、DOM(文档对象模型)


    定义:DOM是HTML和XML的应用程序接口(API),DOM能够把整个文档提炼为以节点为单元的树形结构,并具备检索树形结构、操作属性结构,以及编辑节点内容的能力。

    用途:删除、添加、替换节点

    特点:DOM不是JavaScript脚本,也不是HTML结构,它是W3C开发的一组规范。


(一)DOM节点(HTML元素)


1.创建新的HTML元素:

例如:HTML代码如下:

  1. <title>添加节点</title> 
  2. </head> 
  3. <body> 
  4. <div
    id="note"> 
  5.     <p
    id="p1">这是一个段落</p> 
  6.     <p
    id="p2">这是另一个段落</p> 
  7. </div> 
  8. </body> 
  9. </html> 
  10. <script
    type="text/javascript"
    src="Untitled-2.js"> 
  11. </script> 


 

JavaScript代码如下:

  1. var para=document.createElement("p");
    //创建新的元素<p> 
  2. var node=document.createTextNode("这是新段落。");
    //向 <p> 元素添加文本,您必须首先创建文本节点 
  3. para.appendChild(node);  
  4.  
  5. //向 <p> 元素追加这个文本节点//向一个已有的元素追加这个新元素 
  6. var element=document.getElementById("note");  
  7. element.appendChild(para); 


2.删除已有的 HTML 元素

例如:javascript代码如下:

  1. var parent=document.getElementById("note");     
    //找到id=note的元素 
  2. var child=document.getElementById("p1");         
    //找到id='p1'的元素 
  3. parent.removeChild(child);                                
    //删除元素
     


(二)改变HTML元素

允许 JavaScript 改变 HTML 元素的内容。


1.改变HTML输出流

  
JavaScript 能够创建动态的 HTML 内容:

    今天的日期是:Thu
Jan 23 2014 11:32:37 GMT+0800 (中国标准时间)

  1. <title>测试</title> 
  2. </head> 
  3. <body> 
  4. <script> 
  5. document.write(Date()); 
  6. </script> 
  7. </body> 


 

PS:绝不要使用在文档加载之后使用 document.write()。这会覆盖该文档。


2.改变内容:

  1. <title>改变内容</title> 
  2. </head> 
  3. <body> 
  4.  
  5. <p
    id="p1">北京欢迎您!</p> 
  6. <script> 
  7. document.getElementById("p1").innerHTML="广西欢迎您!"
  8. </script> 
  9.  
  10. <p>口号被修改了!</p> 
  11.  
  12. </body> 


3.改变HTML属性:

  1. <title>测试</title> 
  2. </head> 
  3. <body> 
  4. <div
    id="note",
    style="color:#FF0000">改变颜色</div> 
  5. <script>  
  6. document.getElementById("note").setAttribute("style","color:#0F0"); 
  7. </script> 
  8. </body> 


(三)改变CSS样式

      
DOM允许JavaScript改变HTML元素的样式。

  1. <body> 
  2. <p
    id="P1">北京欢迎你!</p> 
  3. <script> 
  4. document.getElementById("P1").style.color="blue"
  5. </script> 
  6. </body> 


(四)DOM 事件

      DOM使JavaScript有能力对HTML事件做出反应。


例如:点击更改文本内容

  1. <title>测试</title> 
  2. <script> 
  3. function changetext(id) 
  4. id.innerHTML="谢谢!"
  5. </script> 
  6. </head> 
  7.  
  8. <body> 
  9. <h1
    onclick="changetext(this)">请点击该文本</h1> 
  10. </body> 

 

抱歉!评论已关闭.