Ajax简介
1.Ajax被认为是(Asynchronous JavaScript+XML的缩写,即(异步JavaScript+XML)。而如今,允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax。
2.ajax的优缺点:Ajax再次完善了传统的Web应用,强调异步发送用户请求,与传统Web 应用不同的是Ajax将请求与页面分离,AJAX在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点
一:JavaScript脚本语言
1.JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语
言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。Js是一种轻量级解释性的程序设计语言,基于对象的语言,与java无关!
2.Js的运行
1:作为前缀的URL JavaScript:(<a
href="javascript:alert('1');">TEST</a>)
2:使用&/>元素来包含JavaScript代码
3:导入:src(例:<script src="js/2.3.js" type="text/javascript"></script>)
3.js的数据类型
1.number:包含整数和浮点数
2.bool:只有true和false两种值
3.undfind:专门用来确定一个已经创建但是没有初值的变量
4.null:用于表明某个变量的值为空
undfind和null的区别
1:undefined表示没有为变量设置值,null表示将变量值设为空
2:很多时候undefined和null本身就相等,即null==undefined将返回true;如果我们要精确区分null和undefined应该考虑使用精确等于符
(===)但是NAN不等
5.string(JavaScript中比较两个字符串的字符序列是否相等使用==)
字符串的常用操作:
1:length长度
2:indexOf():返回字符串中特定字符串第一次出现的位置
3:substring():返回字符串的某个子串
4:split():将某个字符串分割成多个字符串,可以指定分隔符
4.变量
1:变量是使用关键字var来声明的
2:如果未在var声明语句中给变量指定初始值,那么虽然声明了这个变量,但在给它存入一个值之前,它的初始值就是undefined
3:局部变量的优先级高于同名的全局变量。如果在函数体内声明的一个局部变量或者函数参数中带有的变量和全局变量重名,那么全局变量就被局部变量所遮盖
5.运算符
1:“+",优先字符串连接,如果两个操作数都不是字符串,那么都将进行算术加法运算
2:求余和除法为float类型
6.表达式语句
1:function语句(例:function tc(){})
2:switch语句(例:switch(表达式)
{
case值1:子语句1
break;
case值2:子语句2
break;
.
...
case值n:子语句n
break;
[default:子语句]
}
3:return语句普通函数return返回值,如果使用时,代表函数结束!
函数没return返回值为undefined!
4:异常处理:异常处理类error类,没throw Catch(e){}e不用声明
5:call()与apply()调用对象替换新对象,数组对象为apply()(例:函数名.call(对象名,实参列表)函数名.apply(对象名,[实参数组]))
6:实参
(1)不定实参函数的实参个数不能为零
(2)可以由arguments[n]来访问对应的单个参数的值,并拥有
数组长度属性length
(3)修改实参数组的元素的值同样会修改实参的值
(4)arguments对象存储的是实际传递给函数的参数,而不局
限于函数声明所定义的参数列表
(5)不能显式创建arguments对象,只有函数开始执行时才
可用。
7:基本类型的参数传递:值传递
复合类型的传递:引用传递
参数类型的检测:鸭子类型
8:闭包:定义在一个函数内部的函数
作用:延长局部变量的生命周期
7.对象与类
1:构造函数创建(new)
(1)使用内置构造函数创建对象
var car=new Object();
var friends=new Array(“Tom”,”Dick”,”Harry”);
var holiday=new Date(“July4,2011”);
var rexp=new RegExp(“^[a-zA-Z]”);
(2)用自定义构造函数来初始化对象
function Person(name)
{
this.name=name;
}
var p=new Person('yeeku');
2:ate(prototype,descriptors)
//prototype:要用作原型的对象,使用prototype属性为对象添加新属性
//descriptors:包含一个或多个属性描述符的JavaScript对象
3:对象字面量var对象={属性名1:值1,属性名2:值2};
2:类(JavaScript没有传统意义的类,定义一个构造函数,也可以认为就是创建了一个新类)
1:举例:function Book(){
this.title=“The White Tiger”;
this.author=“Aravind Adiga”;
}
var bookobj=new Book;
alert(bookobj.title+”by”+bookobj.author);
2:基类Object
属性:constructor——对创建对象函数的引用
prototype——对对象原型的引用
3:数组对象
1:var数组名=new Array();
2:var数组名=[元素1,元素2,元素3,…..,元素n]
3:var months=new Array(“January”,”
February”);
4:嵌套数组
(1)语法::var数组名=new Array (new Array(列元素1,列元素2,列元素3)(new Array(列元素1,列元素2,列元素3));
(2):var数组名=[[行1列1,行1列2,行1列3],[行2列1,行2列2,行2列3]]
5:数组方法:
(1):concat()——合并两个数组
(2):join()——把数组的所有元素放入一个字符串,元素通过指定的分隔符进行分割
(3):push()——向数组的末尾添加一个或多个元素
(4):reverse()——颠倒数组中元素的顺序
(5):slice()——从已有数组中选取部分元素构成新数组
(6):sort()——对于字符数组或数字数组进行排序
4:Date对象
格式:var对象名=new Date();
var对象名=new Date(“Month dd,yyyy hh: mm:ss”);
var对象名=new Date(“Month dd,yyyy”);
var对象名=new Date(yy,mm,dd,hh,mm,ss);
5:Math对象
不需要使用new关键字创建Math对象的实例
6:RegExp对象(正则)
1:(1)隐式创建(字面量模式)var reg=reg value;
(2)显示创建var reg=new RegExp(“regular expression “,”options”);
2方法:(1)exec(在字符串中执行匹配搜索,正确返回结果数组,否则返回null)
(2)test(在字符串中查是否存在指定正则表达式,返回bool值)
7:windows对象
1::location.href跳转url
2:frames——窗口中的框架对象数组
3:history——history对象保存有窗口最近加载的URL
(1):next——history对象中下一个页面的URL previous——history对象中前一个页面的URL
(2):back()——前往历史列表中的前一个URL条目,类似浏览器的后退按钮go()——浏览器在history对象中向前或向后移动指定个数页面,如(-3)向后三个页面
8.DOM
1:定义:DOM是文档对象模型(Document Object Model)的简称。借助DOM模型,可以将一个结构化文档转换为DOM树,程序可以访问、修改、增加、删除树里的结点。
2:节点Node对象提供了nodeType属性来表示节点的类型举例:<a href=“bchen”>my
site</a>//通常一个元素节点由标签名、属性节点和文本节点构成
(1)nodevalue属性节点的值,增删改查!
(2)访问:id:
标签:ElementsByTagName(“标
签名”)
(3)创建节点:元素节点:
点:ateTextNode(“文本值”)
(4)添加节点:
elementNode.appendChild(newNode)
(5)替换节点::
(6)复制节点:
elementNode.cloneNode(boolean deep)
(7)删除节点:
javascript全局数组
9.XMLHttpRequest对象(ajax核心)
1:关于核心知识,要先明白原理:请求,处理,响应而xmlhttp就是实现异步请求服务器的能力先看个简单的例子吧:
例:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。