JavaScript基础

本文详细阐述了JavaScript的核心组成部分,包括ECMAScript标准、DOM(文档对象模型)与BOM(浏览器对象模型),以及JSON与JS之间的差异。同时介绍了如何通过window、location、history、screen和navigator对象对浏览器进行操作,以及JS与JSON的解析方法。

1,js组成

        核心:ECMAScript标准

                  此标准指定了js的基础语法,数据类型,关键字,操作符,对象;

        DOM:文档对象模型标准(Document object Model)

                  是js针对xml html的程序编程接口;DOM把一个页面映射为多层的节点结构;DOM是有DOM核心和DOM HTML组成;DOM核心规定的是如何映射XML文档结构;DOM HTML是其拓展;用来实现对HTML文档的映射; 

                 DOM LEVEL1

                 DOM LEVEL2

                 DOM LEVEL3              

         BOM:浏览器对象模型(Browser Object Model)

                 主要是对浏览器来做描述;提供对浏览器的操作接口;

2,ECMAScript

       ECMAScript是js的核心标准;他定义了基础语法,数据类型,关键字,操作符,对象;

       JS数据类型:

              JS是弱类型脚本语言,数据类型分为有 字符串、数字、布尔、数组、对象、Null、Undefined 数组8种;但是定义去没有像Java那样的  int  必须定义为int i=???;JS定义变量都是  var a=???;

              例如:

                   基础类型变量定义: var a = 6;   var b= '6'; var c="6";  

                   对象类型变量的定义创建:function  createPerson(name,age,sex){

                                                                   var person = new Object();

                                                                  person.perName = name;

                                                                  person.perAge = age;

                                                                  person.perSex = sex;

                                                                  return person;

                                                       }

                      数组:var arrayObj = new Array(); //创建一个数组

                                 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度

                                  var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值

        基础语法:

                    流程控制语句  if             if(a =6){....};

                    循环语句:

                               for(...;...;...)   for(var i=1 ;i< a ; i++){...}

                               while(...)          while(a<6){..............}

                                do.........while(.......)    do ..... while()


DOM

         节点:

             文档中的不同组成元素都是一个节点;

          Node层级:

               28144738_yOhx.jpg

            节点彼此都有等级关系。HTML 文档中的所有节点组成了一个文档树(或节点树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档(document)节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。


BOM

        他包含的不同的对象;我们可以通过不同的对象对浏览器进行不同操作;

        1.window

        常用方法:   window.open(URL,name,features,replace),四个都为可选参数

                                                     URL:新窗口中显示的文档的 URL

                                                     name:声明了新窗口的名称

                                                     features:声明了新窗口要显示的标准浏览器的特征

                                                     replace:布尔值,true - URL 替换浏览历史中的当前条目。 false - URL 在浏览历史中创建新的条目。 

 

                            window.close()关闭当前窗口

 

                            moveTo(x,y) 方法可把窗口的左上角移动到一个指定的坐标。

                            moveBy(x,y) 方法可相对窗口的当前坐标把它移动指定的像素。

                            resizeTo(width,height) 方法用于把窗口大小调整为指定的宽度和高度。

                            resizeBy(x,y) 方法用于根据指定的像素来调整窗口的大小。


                           setTimeout(epress,time) 方法用于在指定的毫秒数后调用函数或计算表达式。

                          clearTimeout(timeID)停止已经启动的定时器


        2,Location对象

                  Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

                常用方法:

                            hash:设置或返回从井号 (#) 开始的 URL(锚)。

                            host:设置或返回主机名和当前 URL 的端口号

                            hostname:设置或返回当前 URL 的主机名。

                            href:设置或返回完整的 URL。

                            pathname:设置或返回当前 URL 的路径部分

                            port:设置或返回当前 URL 的端口号

                            protocol:设置或返回当前 URL 的协议。

                            search:设置或返回从问号 (?) 开始的 URL(查询部分)。


                           assign()加载新的文档。

                           reload()重新加载当前文档。

                           replace()用新的文档替换当前文档。


        3,History对象

            其实就是来保存浏览器历史记录信息。

            属性有:length,返回浏览器历史列表中的 URL 数量。

           常用方法有:

                 back()加载 history 列表中的前一个 URL。

                 forward()加载 history 列表中的下一个 URL。

                 go()加载 history 列表中的某个具体页面。

                 如常见的返回上一页:History.go(-1)和history.back()


        4,screen对象

                  Screen 对象中存放着有关显示浏览器屏幕的信息。

                  常见的属性有:

                              availHeight:返回显示屏幕的高度

                              availWidth:返回显示屏幕的宽度

                              colorDepth:返回目标设备或缓冲器上的调色板的比特深度。

                              height:返回屏幕区域的实际高度

                              width:返回屏幕区域的实际宽度


        5,Navigator对象

            包含的属性描述了正在使用的浏览器

                appName:返回浏览器的名称。

                appVersion:返回浏览器的平台和版本信息。

                platform:返回运行浏览器的操作系统平台。

                appCodeName:返回浏览器的代码名。

JS与JSON

   JSON对象和JS对象有所不同;主要区别在于属性值js对象属性名可以不用“”但是json对象必须;

    JS解析JSON:

           1.eval()函数

           2,JSON内置对象的stringify()(把js对象序列化为json字符串)  或者  parse()(吧json字符串转化为js对象)方法;

      两种方法的区别:

                   第一种方法存在风险,如果读取的json字符串存在语法错误则会报错;






转载于:https://my.oschina.net/ZGang/blog/407217

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值