js总结

来源:互联网 发布:二进制算法 编辑:程序博客网 时间:2024/05/17 07:16

1javascript基础:

        (1)javascript是什么,能做什么事情?

            javascript是网景公司开发的用于与页面进行交互的脚本语言。javascript程序在浏览器端运行,一般写在.js结尾的文件中。

            主要的功能是:

                a.表单验证(前端验证),即对用户的数据进行验证。比如用户名是否为空,如果验证不能通过,浏览器将不会将数据提交给服务器。

                b.Ajax的核心技术之一。Ajax是很多技术的集成体。主要作用是异步向服务器发送请求并且动态更新界面。

                c.与页面进行交互,生成动态的效果。

                d.获得浏览器相关的信息。

        (2)javascript的组成部分

                部分标准化,但是没有彻底的标准化。

                ECMAScript:语法基础(这一部分完全标准化了)

                DOM:文档对象模型,将xml文档变成对象节点类型。这个模型部分标准化了。

                BOM:浏览器对象模型。没有标准。但是比较好学。大部分浏览器都支持window,location,history,screen等对象。

2语法基础:

        (1)数据类型

              a.基本数据类型(5种)

                     number:数字类型

                     string: 字符类型

                     boolean:布尔类型

                     null:空,没有存放任何对象的地址

                     underfined:未定义

                    js是弱类型的语言,不做类型的检查。

                    NaN非数字,parseInt(),parseFloat(),……isNaN()判断一个字符串是否包含非数字。

                    js中三种包装类型:Number,Boolean,String

               b.引用类型Object,Array,Date,Math。

        (2)变量

               a.js是弱类型的语言,变量的类型在运行时候绑定,并且可以随意转换。

               b.js大小写敏感。

               c.变量不能使用关键字和保留字。

               d.标识符首字母只能是字母,$,_开头,除首字母外,可以包含数字。

           对于一个变量,如果在函数的内部使用变量,没有用var声明的话,认为是全局变量。在函数外部用var声明的变量也是全局变量。在函数内部使用var声明的变量属于局部变量。js中没有语句块作用域。

         (3)数组

                a.js当中数组的特点(1)长度可变(2)存放的数据类型是任意的

                b.创建数组的方式:语法比较宽松

                            var arr = new Array()或者new Array;

                            arr[0] = 1;

                            arr[3] = 2;

                 c.常见的几个函数:

                          length是属性,返回数组的程度

                          toString()方法,返回数组的字符串表示

                          concat方法,用于连接两个数组

                          join方法,将数组反转

                 d.在js当中,数组可以当作堆栈和队列来用。

                         push(),pop(),shift()

         (4)字符串的常用方法

                  number,boolean,string都对应有包装类。

                  Number,Boolean,String所以有常用的方法

                 length属性,

                 substring()方法,

                 charAt()方法,

                 indexOf(),

                 lastIndexOf(),

                 match()按照正则表达式匹配,返回一个数组,

                 replace(reg,'abc')替换符合正则表达式的内容,

                 search(reg)按照正则表达式搜索,split()将字符串按照正则表达式的方法去分解。

3DOM文档对象模型:

         (1)DOM是Document Object Model缩写,它定义了一套规则用于将结构化的文档转换成一棵树,称为DOM树,目的是便于对结构化 的文档进行增删改查操作。

         (2)由于历史的原因,dom没有完全标准化

                                   html dom模型,最早的dom模型,

                                   w3c  dom模型:目前主流的dom模型,各大浏览器都支持。

         (3)w3c dom模型

                             a.继承关系图

                                Node

                                Document

                                            HTMLDocument

                                                                 HTMLBodyElement

                               Element

                                       HTMLElement

                                                 HTMLFormatElement

                                                                HTMLInputElement
                                                                HTMLSelectElement
                                                  HTMLOptionElement
                                                               HTMLDivElement
                                                               HTMLTableElement

                             b.操作

                                     查找 :方法一:document.getElementById();


小测试1:

var test = new Array(5);test[1] = "123";test[4] = "456";
alert(test);for(var arr in test){alert(test[arr]);}

JScript 数组为解析数组,也就是尽管可以分配多个元素给一个数组,但实际上只有包含数据的元素才存在。这减少了数组使用的内存数量。


小测试2:

<script type="text/javascript">    /*在预编译过程中func是window环境下的活动对象中的一个属性,值是一个函数,覆盖了undefined值*/    alert(func);//function func(){alert("hello!")}    var func = "this is a variable"    function func(){    alert("hello!")    }    /*在执行过程中遇到了var重新赋值为"this is a variable"*/    alert(func);  //this is a variable  </script>