一、BOM对象

  1、什么是BOM对象?

    BOM是浏览器对象模型,核心对象就是window,所有浏览器都支持 window 对象。一个html文档对应一个window对象,主要功能是控制浏览器窗口的, window对象不需要创建对象,直接使用即可。

  2、window对象的使用方法:

     alert() 显示带有一段消息和一个确认按钮的警告框。

     confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。

     prompt() 显示可提示用户输入的对话框。

     open() 打开一个新的浏览器窗口或查找一个已命名的窗口。

     close() 关闭浏览器窗口。
       setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。

       clearInterval() 取消由 setInterval() 设置的 timeout。

     setTimeout() 在指定的毫秒数后调用函数或计算表达式。

     clearTimeout() 取消由 setTimeout() 方法设置的 timeout。

     scrollTo() 把内容滚动到指定的坐标。

二、DOM节点

  1、什么是DOM?

    DOM是文档对象模型,HTML 文档中的每个成分都是一个节点。

  2、节点的分类

    元素节点:其实就是标签

    文本节点:其实就是标签所要表达的内容

    属性节点:其实就是标签内的属性

  3、直接查找节点的方法

    document.getElementById(“idname”)

    document.getElementsByTagName(“tagname”)
    document.getElementsByName(“name”)
    document.getElementsByClassName(“name”)

  4、层次导航节点属性查找

     parentElement // 父节点标签元素
    children // 所有子标签
    firstElementChild // 第一个子标签元素
    lastElementChild // 最后一个子标签元素
    nextElementtSibling // 下一个兄弟标签元素
    previousElementSibling // 上一个兄弟标签元素

  5、节点操作方法:

    1、创建节点

      createElement(标签名) :创建一个指定名称的元素。
    2、添加节点:
      父节点.appendChild(创建的新节点名) 追加一个子节点(作为最后的子节点)
      父节点.insertBefore(创建的新节点名,父节点下某个节点);  把增加的节点放到父节点下某个节点的前边
    3、删除节点:
      父节点.removeChild()  :先获得要删除的节点,然后通过父节点来删除父节点下的子节点
    4、替换节点:
      父节点.replaceChild(创建的新节点, 父节点下需要替换的某个节点);
    5、拷贝节点:
      节点..cloneNode(true); :如果有true则表示完全拷贝(拷贝节点和节点下的子节点),否则只拷贝当前节点
  6、节点下的属性操作方法:
    1、取属性值: 
      1.1 节点名.getAttribute(属性名)
                      1.2 节点名.属性名  (推荐使用)
             2、属性赋值: 
      2.1  节点名.setAttribute(属性名,属性值)
                      2.2 节点名.属性名=属性值
   3、关于class的独有属性操作:

      3.1 节点名.className   查看某个节点的属性
      3.2 节点名.classList.add  向某个节点中添加属性
      3.3 节点名.classList.remove  向某个节点中删除属性
   4、关于select标签:
                        ele_select.options.length=0  清空option操作
                        ele_select.selectedIndex     选中option的索引值
            5、关于style属性:
                       标签名.style.样式属性="值"           
三、DOM event事件
  1、各种事件句柄的介绍
    1.1 onclick    当用户单击某个对象时调用的事件句柄。
    1.2 ondblclick  当用户双击某个对象时调用的事件句柄。
    1.3 onfocus    元素获得焦点。 比如输入框,当鼠标进入输入框时就相当于获得焦点,就会触发事件。
    1.4 onblur    元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
    1.5 onchange   域的内容被改变。 应用场景:通常用于表单元素,当元素内容被改变时触发.(三级联动)
    1.6 onkeydown   某个键盘按键被按下。 应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
    1.7 onkeypress    某个键盘按键被按下并松开。
    1.8 onkeyup       某个键盘按键被松开。
    1.9 onload        一张页面或一幅图像完成加载。
    1.10 onmousedown    鼠标按钮被按下。
    1.11 onmousemove    鼠标被移动。
    1.12 onmouseout    鼠标从某元素移开。
    1.13 onmouseover   鼠标移到某元素之上。
    1.14 onmouseleave   鼠标从元素离开

    1.15 onselect     文本被选中。
    1.16 onsubmit     确认按钮被点击,或程序被执行。
  2、事件绑定的方法
    2.1方法1:
      
      注意:形参是除this意外的任何字符串 
 
    2.2方法2:    
            
      建议使用方式2   
 
  3、常用事件介绍    
    3.1 onload事件:当某些节点被加载完后才执行onload内的程序。 
          
 
    3.2 onsubmit事件:被绑定程序执行之前的一个触发程序     
         
 
     3.3onclick事件:某元素被鼠标单击后所执行的程序,但是有bug,解决方法如下。 
             
  注释:当两块区域重合时内层区域会向外层区域传播该事件,外层区域的事件就会被触发,所以需要组织内层区域的事件传播到外层区域。
 
      3.4 onselect事件:当文本被选中时执行的事件。 
             
        注:一般应用于输入框中    
 
      3.5 onchange事件:作用域内的内容被改变就会触发该事件,就相当于父标签下的子标签被改变就会触发事件。
         
 
     3.6 键盘按键按钮事件:键盘按钮按下所触发的事件  
            
      注释:onkeydown 某个键盘按键被按下时所触发的事件        
         onkeypress 某个键盘按键被按下并松开时所触发的事件          
         onkeyup 某个键盘按键被松开时所触发的事件
    3.7onmouseout与onmouseleave事件的区别:   
        1、onmouseout事件是不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。      
      2、onmouseleave事件是只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。      
      3、区别的原因:mouseout事件是会冒泡的,也就是onmouseout事件可能被同时绑定(继承)到了他的子元素上,所以鼠标移出每个子元素时也都会触发事件。 
      

四、js的作用域

  1、什么是作用域?  

    作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。

  2、js中的全局作用域:(在代码中任何地方都能访问到)

    2.1最外层函数和在最外层函数外面定义或者声明的变量拥有全局作用域

    2.2所有直接赋值没有var声明的变量是全局作用域

    2.3所有window对象的属性拥有全局作用域

      eg:一般情况下,window对象的内置属性都都拥有全局作用域,例如window.alert()、window.location、window.top等等。

  3、js中的局部作用域:(只能在代码的某个局部地区能访问的到)

  4、js中的作用域链

    在js中一切皆对象,js代码的执行分为两个阶段,一个是代码的检测阶段,一个是代码的执行阶段。其中检测阶段主要是检测代码的合法性和在内存中开辟相应的内存空间给代码,执行阶段就是给相应的内存空间中的代码赋值,然后执行代码。

  

    

 
 
 
 
 
 
 
 
 
 

javascript高级语法二的更多相关文章

  1. JavaScript高级程序设计(二):在HTML中使用JavaScript

    一.使用<script>元素 1.<script>元素定义了6个属性: async:可选.表示应该立即下载脚本,但不应该妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本 ...

  2. JavaScript高级用法二之内置对象

    综述 本篇的主要内容来自慕课网,内置对象,主要内容如下 1 什么是对象 2 Date 日期对象 3 返回/设置年份方法 4 返回星期方法 5 返回/设置时间方法 6 String 字符串对象 7 返回 ...

  3. javascript高级语法学习

    可维护的代码意味着: 可读的 一致的 可预测的 看上去就像是同一个人写的 已记录 命名函数表达式 (function fn(){}) 他是表达式的原因是因为括号 ()是一个分组操作符,它的内部只能包含 ...

  4. javascript高级语法

    一.JavaScript对象 1.js对象简介 1.1 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,在JavaScrip ...

  5. JavaScript高级应用(二)(转)

    1.组件是否安装 //组件是否安装 isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "com ...

  6. javascript 高级程序设计 二

    这里我们直接进入主题: 在JS刚刚开始的时候,必须面临一个问题,那就是如何使的JS的加载和执行不会影响web核心语言HTML的展示效果,和HTML和谐共存. 在这个背景下<script>标 ...

  7. javaScript高级教程(二)Scope Chain & Closure Example

    <!DOCTYPE html> <html> <head> <meta charset=gb2312 /> <title>js</ti ...

  8. javascript高级语法三

    一.js的正则表达式 1.什么是正则表达式 正则表达式(regular expression)是一个描述字符模式的对象,ECMAScript的RegExp类表示正则表达式,而String和RegExp ...

  9. iOS开发——语法篇OC篇&高级语法精讲二

    Objective高级语法精讲二 Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和 ...

随机推荐

  1. OSI与TCP/IP你了解多少?

    刚开始接触计算机的时候,非常好奇数据是怎样传输的,通过后期的学习逐步了解了计算机的通信原理.相信很多人在学习计算机的时候,首先入门的第一门课就是计算机的通信原理,而通信原理又离不开两大参考模型:OSI ...

  2. Django学习之网站图标

    首先,你要有一个.ico的文件,可以从easy icon直接搜索一个图标. 1.先导入RedirectView,是一个通用类视图. from django.views.generic.base imp ...

  3. 基于C#的超市收银管理系统

    基于C#的超市收银管理系统 前序 一直在忙学习Qt有关的知识,非常有幸这学期学习了C#.让我也感觉到了一丝欣慰,欣慰的是感觉好上手啊,学了几天顿时懂了.好多控件的使用方法好类似,尽管平时上课没有怎么认 ...

  4. 十年WEB技术发展历程

    一个小分享,知识有限,抛砖引玉. ajax 03年的时候我上六年级,那时候网吧刚在小县城的角落萌生.传奇,大话西游第一代网游一时风靡.我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一 ...

  5. Spring MVC复选框(多项)

    以下示例显示如何在使用Spring Web MVC框架的表单中使用多个复选框(Checkbox).首先使用Eclipse IDE来创建一个WEB工程,并按照以下步骤使用Spring Web Frame ...

  6. Large repunit factors (Project Euler 132)

    题目大意: 求出 大数111111.....1 (1e9个1)  前40个质因子的和. 思路:可以把原来的数表示成$\frac{10^k - 1}{9}$ 其中$k=10^9$ 如果一个质数$p$ 满 ...

  7. 慢慢理解RESTful架构

    <理解本真的REST架构风格> 作者:李锟 链接:http://www.infoq.com/cn/articles/understanding-restful-style/ <理解R ...

  8. CentOS 6.5 MySQL5.6.26源码安装

    一.源码安装cmake工具 从mysql5.5起,mysql源码安装开始使用cmake wget http://cmake.org/files/v3.2/cmake-3.2.3.tar.gztar z ...

  9. 【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住

    当点击完 finishbutton后,dbca 或者dbua hang住 来源于: DBCA/DBUA APPEARS TO HANG AFTER CLICKING FINISH BUTTON (文档 ...

  10. Editor编辑器的一些用法

    共有两个脚本,一个是有关Inspector面板的,一个是window的 using UnityEngine; using System.Collections; using UnityEditor; ...