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();