移动开发PPT复习文档--JavaScript

JavaScript中的对象:

可以创建并使用的对象分为以下三种:

           1、本地对象

           2、内置对象

           3、宿主对象

 一.    内置对象

          1、JS已经预先定义好的可供我们直接使用的对象,这些对象通常不受浏览器的限制

          2ArrayBooleanDataMathNumberStringRegExpFunctionEvents

     1.数组API:

         1、作用:在单个变量中存储多个值,用于存放一组数据

         2、元素:数组空间中存放的数据

         3、长度:数组中元素的个数------length

         4、下标(索引):数组元素的编号(编号从0开始到length-1结束)

         5.创建数组的方式:

                 1、var array = [ ];    //定义一个空的数组

                 2、var array = new Array[ ]   //调用构造函数的方式创建一个数组

                 3、var array = [ init1, init2 ,init3……]  //在定义数组的同时给定初始值

                 4、var array = new Array[  init1, init2 ,init3……

                 5、var array = new Array(size)    //给定指定长度的数组

          6.常规操作:

                 1、数组引用:通过数组下标来实现元素的引用

                            数组名[index]//index为数组下标,从0开始

                  2、数组遍历:将数组中每个元素都穷举一次进行使用

                             a、普通循环结构   //for循环

                             bfor - in(多用于数组或对象的遍历)

                  3.添加:

                          头:array.unshift(p1……)  //返回新数组的长度

                          尾:array.push(p2……) 

                          指定索引:array.splice(index,howmany,p3p4……)    //index表示指定索引;

                                   //第二个位置表示要删除元素的个数,元素添加时值恒为0

                    4.删除:

                           头:array.shift()  //返回删除的那个元素

                           尾:array.pop() 

                           指定索引:array.splice(index,howmany)

                     5.连接:

                           array.concat(arr1):连接多个数组并返回新数组,原数组不受影响

                           array.join(“连接符”):使用指定分隔符(默认为逗号)连接数组中的  元素,返回连接后的字符串内容,原数组不受影响

                      6.排序:

                           array.reverse()  //原数组逆序,原数组会受影响

                           array.sort()  //升序排序,原数组会受影响 

       2,字符串API

           1、作用:处理字符序列,可以看作是字符数组

            2、创建:

                    var str = “abc”;

                    var str = new String(“abc”);

                   注意: 第一种方式创建的字符串,类型为"string"; 第二种方式创建的字符串,类型为"object"

                              基本类型玉引用类型的数据保存在内存中的分配空间结构不一致。

                             基本类型没有属性/方法,引用类型才有属性/方法;

              3.常用操作:

                      1.查找:

                          str.charAt(index):返回指定索引位置的字符

                          str.indexOf(search):查找子字符串在原字符串第一次出现的索引

                          str.lastIndexOf(search):查找子字符串在原字符串最后一次出现的索引

                      2.转换:

                            str.charCodeAt(index):返回指定索引位置的字符编码

                            String.fromCharCode(num):将指定的编码转换为字符串

                            str.toUpperCase():转换为大写

                            str.toLowerCase():转换为小写

                      3.连接:

                            str.concat():连接两个字符串

                      4.匹配:

                            str.match()

                            str.search()

                            str.replace(regexp/substr,replacement) ---- 替换,一般进行词的过  滤,原字符串不受影响,会返回替换后的新字符串

                     5.匹配:

                            str.split():将字符串以指定的分割符,并返回分割后的数组

                     6.截取:

                            str.slice(start[,end])

                            str.substring(start[,end])

                            str.substr(str[,len])   ----不推荐使用

        3.Date对象

             1、作用:用于处理日期和时间

              2、创建:

                    var date = new Date();    ---获取当前系统时间

                    var date = new Date(milliseconds); ---传递参数的毫秒是相对 1970-1-1 0:0:0以来的毫秒值

                    var date = new Date(“yyyy-MM-ddTHH:MM:SS”)   --创建字符串所指 定的日期时间

                    var data = new Date(year,month[,day[,hour[,minutes[,seconds[,milliseconds]]]]])

        4.Boolean对象

                    1、作用:表示两个值,truefalse

                    2、创建:

                          new Boolean(value);    ---使用构造函数

                          Boolean(value);   ---使用转换函数

         5.Number对象

                    1、作用:原始数值的包装对象

                    2、创建:

                             var num = new Number(value)--对象

                             var num = Number(value);    --数字

         6.Math对象

                   1、作用:用于执行与数学相关任务

                   2、在使用时,由于无构造函数,不需要重新创建;Math中的所有的方法和属性都是直接调用的

                        Math.random()

                        Math.floor()

                        Math.sin()

         7.JSON对象(ES5标准新增对象)

                   1.定义:javascript objcct notation,javascript对象表示法

                   2.作用:用于数据存储和交换的文本格式 

                   3.JSON可以表示的数据:所有的JS

                   4.主要方法:

                          JSON.parse():将字符串解析为JS

                          JSON.stringify():JS值转换为对应格式的字符串

       8.Events对象

            略

       9.Event对象

            略

二.宿主对象之 BOM:

    1、Browser Object Model(浏览器对象模型)

    2、作用:使得Javascript有能力与浏览器进行对话

    3、Window对象:代表的是一个浏览器打开的窗口

             3.1 .window相关对象属性:

                    1、location:与URL相关

                    2、history:与访问历史有关

                    3、document:与文档有关

                    4、navigator:与浏览器自身相关

                    5、window代表Window对象本身

                    6、Window作为浏览器最顶层的对象,调用时可以省略“Window.”的写法

            2.location属性对象:

                   1、URL 统一资源定位符   规则:协议://主机名:端口/资源路径名称?查询字符串#hash

                    2reload():重新加载刷新

                    3assign(URL):加载新的文档,实现跳转

                    4replace(URL):用新的文档替换当前文档,也可以实现跳转

           3.history属性对象:

                    1.length:长度,即history只知道历史条数

                    2方法:

                         back()---后退一页

                         forword()---前进一页

                         go(n)---前进或后退

            4.document属性对象:

                    1、指代浏览器打开的整个文档

                    2、DOM操作相关

           5.navigator属性对象:

                    1、与浏览器自身信息相关

                    2、属性:

                        appName:浏览器名称

                       appCodeName:浏览器代码名

                       appVersion:浏览器版本号

                      userAgent:客户机发送服务器的user-agent头部值

            6.screen属性对象:

                      1、包含有关客户端显示屏幕的信息

                      2、像素:相对?绝对?

            7.name属性对象:

                      设置或返回窗口的名称

            8.opener对象:

                       返回对创建此窗口的引用

    3.2  window方法:

             alert()

             prompt() //提示

             confirm(“提示框”)----确认框,确认=true,取消=false

             open(URL)----新开一个窗口打开URL

             close()----关闭当前窗口

        计时器相关方法:

             1setTimeout(function,time):time的单位为毫秒,在指定时间到达后执行一次function函数

             2setInterval(function,time)time的单位仍为毫秒

             3clearInterval(id)id表示计时器标识

             4、clearTimeout()

        事件轮询: (JS是单线程执行的应用程序)

             通过压栈,以及 任务队列  的方式,使得一个方法块中的代码实现 类似于 异步的效果。

             即 在 代码 层面进行 执行逻辑的切分。 这是与 java 极其不一样的地方。因为java 具有多线程特性,因此很好的处理该问题。

             注意:setTimeout(function,time)setInterval(function,time)中的time值为理想值,即时间到了也不一定会立即执行function函数。

三,宿主对象之DOM:     

        1.组成:

              核心DOM

              HTML DOM

              CSS DOM

         2.document对象:

                指代在浏览器窗口中打开的文档

         3.节点类型:

                元素节点(element)

      属性节点(attribute)

      文本节点(text)

      文档类型节点(DOCTYPE)(不常用)

      注释节点(不常用)

4.元素查找方式:

       document.getElementById()----根据元素的id属性值查找元素,若id值重复,则只会查找到第一个id值。若id不存,则返回NULL

                  document.getElementsByTagName()----根据元素的标签名查找元素,返回的是一个集合对象。

                  document.getElementsByClassName()----根据元素的class类名查找元素,返回的是一个集合对象。(ES5新增的方法)

                  document.getElementsByName()----根据元素的name属性查找元素,常用在表单元素中

            5.元素创建:

                  var element=document.createElement(“tagname”):创建一个标签

                  添加属性:

aelement.setAttribute(“name”,”value”);     -----核心DOM的操作

belement.<attributeName>=value;        ----CSS DOM的操作

c、要设置class属性,需要使用className属性来设置

       元素内部内容:

element.innerHTML----内部HTML文本

element.innerText----内部纯文本内容 

                  添加到容器中:

          aparentNode.appendChild(childNode)----添加到父容器末尾.

           bparentNode.insertBefor(newNode,existNode)----在已有元素之前进行添加

6.元素删除:

           parentNode.removeChild():从父元素移除子元素

7.节点克隆:

           node.cloneNode(boolean):节点克隆只是把节点克隆下来,仍然需要添加到相应元素中,还需要对节点内容进行手动更新。

           boolean=True:克隆包括所有后代节点在内的节点

           boolean=False:仅克隆节点本身(默认值)

8.DOM树层次:

       node.parentNode----父节点

       element.firstChild----第一个孩子

       element.lastChild----最后一个孩子

       element.childNodes----所有孩子节点(包括所有空白的文本节点)

       element.children----所有孩子元素节点

       element.firstElementChild----第一个孩子元素节点

       element.lastElementChild----最后一个孩子元素节点

       node.previousSibling----节点的前一个兄弟节点

       node.nextSibling----节点的后一个兄弟节点

       node.previousElementSibling----前一个兄弟元素

       node.nextElementSibling----后一个兄弟元素

9.节点属性:

        nodeName

                        文本节点固定为:#text

                        元素节点为:大写状态标签名,如DIV

                   nodeType

                          1---元素节点

                          2---属性节点

                          3---文本节点

                  nodeValue

                         文本节点:文本内容本身

                         元素节点:固定为null

       this --- 在事件函数中指向事件源对象

10.CSS DOM

       获取CSS样式

                        element.sytle----返回CSSStyleDeclaration对象,该对象包含了该元素的所有属性,只能拿到内嵌的CSS样式。                              element.style.attribute----获取某个内嵌的CSS样式,若样式中间用‘-’连接,则将‘-’省略而将后一个单词首字母大写。例如,获取字体  则应该使用element.sytle.fontSize来获取。

                        getComputedStyle(element)----获取element元素的正在起作用的CSS样式,包括内联或外联或内嵌的。(存在兼容问题,IE9之前  不支持使用,使用element.currentStyle属性来获取正在起作用的样式)

                  设置CSS样式

                         通常是将需要设置的CSS样式以内嵌方式添加到元素的style属性中,然后对element.style.attribute=xxxx的形式进行重新赋值。

猜你喜欢

转载自blog.csdn.net/qq_36285943/article/details/85167470
今日推荐