JavaScript简介
JavaScript是互联网上最流行的脚本语言,这门语言可用于HTML和web,
更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备.
JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入HTML页面的编程代码。
JavaScript 插入HTMl 页面后,可有所有的现代浏览器执行
JavaScript 用法
1、引用JS外部文件;
2、位于HTMl页面中(在HTML中的脚本必须位于标签之间)
脚本可被放置在HTML 页面的 和 部分中
提示: 那些老旧的实力可能会在
var mysum, _mycha, $numal;
1-5 变量声明
声明变量语法:var 变量名;
var mysum;一次声明一个变量
var mysum, mynum;一次声明多个变量
注意:变量也可以不声明,直接使用,但为了规范,需要先声明,后使用
1-6 变量赋值
var mynum=5;//声明变量mynum并赋值
注:这里"="号的作用是给变量赋值,不是等于号。
var str1 = 234;//str1 为数值类型s
var str2 = “stringstring”;//str2 为字符串
var str3 = true;//str3为boolean类型
1-7JavaScript-判断条件语句(if…else)
if…else语句是在指定的条件成立时执行代码,
在条件不成立时执行else后的代码
2-1JavaScript-输出内容(document.write)
document.write()可用于直接向HTML输出流写内容。
简单地说就是直接在网页中输出内容
var mychar = “hello”,mystr = “world”;
//document.write(“hello world” +"
";//第一种:直接输出内容
document.write(mychar + mystr + “
”;//第二种:通过变量输出内容
//document.write(“大家好!” + mychar + mystr + ““JavaScript”);第三种:输出多项内容,内容之间用+号连接。
//document.write(“
this is a p
”);第四种:输出HTMl标签,并起作用,标签使用”"括起来
//document.write(“asdfasd”);
2-2 警告 alert()消息对话框。
注意:a、在点击对话框“确定”
3-1什么是数组?
同类型数据的集合就是数组;
数组:声明,赋值,获取值
数组的声明:直接声明,声明并确定长度,声明并赋值
索引、第二元素myarr[1]、myarr.length数组长度
数组是一个值的集合,每个值都有一个索引号,从0开始,
每个索引都有一个相应的值,根据需要添加更多数值。
3-3 数组赋值
数组的表达方式:
第一步:创建数组var myarr=new Array();
第二步:给数组赋值
myarr[1]=“张三”;
myarr[2]=“李四”;
3-6 数组属性length
//var count = myarr.length;
3-7 二维数组
一维数组的表示:myarray[]
二维数组的表示:myarray[]
一、清空数组
var ary = [1,2,3,4];
ary.splice(0,ary.length);//清空数组
document.write(ary);//输出[],空数组,即被清空了
二、删除数组元素
var ary = [1,2,3,4];
ary.splice(0,2);//起始索引,删除元素的个数
document.write(ary);
三、js删除数组几种方法
var arr = [‘a’,‘b’,‘c’];
若要删除其中的’b’,有两种方法:
1、delete方法:delete arr[1]
这种方式数组长度不变,此时arr[1]变为undefined了,但也有好处
原来数组的索引也不变,此时要变历数组元素可以采用,这种遍历方式跳过其中undefined的元素
1、if(条件){条件成立才执行代码}
2、if (条件){条件成立才执行代码}
else {条件不成立才执行代码}
3、多重
if (条件1){条件1成立才执行代码}
else if (条件2){
条件2成立才执行代码}
else {}
…
else if (条件n){
条件n成立才执行代码}
else {
条件1、2至n不成立才执行代码
}
4 多种选择(Switch)
语法说明:
switch必须赋初始值,值与每个case值匹配。满足执行该case后的所有语句
,并用break语句来阻止运行下一个case。如所有case值都不匹配,执行default后的语句。
4-5重复重复 (for循环)和while(反反复复)
for语句结构
for(初始化变量;循环条件;循环迭代){
循环语句;}
4-7 来来回回(do…while循环)
至少执行一次。先执行,后判断,如果条件为真,继续循环。
do{
循环语句}
while(判断条件)
var str=3;
do {
str=str+1;
document.write(str);
}
while(str>5)
总结: for 和 while 都是先判断条件,再执行方法体;
do…while无论条件是否成立都执行一次,先执行,后判断
4-8 退出循环break
在for、do while、while循环中使用break语句退出
当前循环,直接执行后面的代码。
for(初始条件;判断条件;循环后条件值更新){
if(特殊情况)
{break;}
循环代码
}
4-9 继续循环continue
continue的作用是仅仅跳过本次循环,而整个循环体继续执行
for(初始条件;判断条件;循环后条件值更新){
if(特殊情况)
{continue;}
循环代码
}
区别:break 跳出整个循环 continue跳出本次循环
5-2 定义函数
一、 function 函数名(){
函数体;
}
函数名();
二、
7-4 返回/设置时间方法
get/setTime() 返回/设置时间,单位毫米数。
格式:“yyyy-MM-dd HH:MM:SS”
function get.NowFormatDate(){
//声明一个日期内置对象
var date = new Date();
//声明符号
var seperator1="-";
var seperator2=":";
var year = date.getFullYear();//年
var month = date.getMonth()+1;
var strDate = date.getDate();
var hours = date.getHours();
var Minute = date.getMinute();//分
var Second = date.getSeconds();//秒
if (month>=1 && month <=9{
month = "0" + month;//01
}
if (strDate>=1 && strDate<=9{
strDate = "0" + strDate;
}
var enddate = year +seperator1+month+seperator1+strDate+"\t"
hours+seperator2+Minute+seperator2+Second;
return enddate;//返回日期
}
document.write(getNowFormatDate());//调用函数
7-5 String 字符串对象
var mystr=“I Love JavaScript!”
定义mystr字符串后,可以访问它的属性和方法。
var mystr = “I Love JavaScript!”;
var count = mystr.length;//字符串属性
alert(count);
7-6 chartAt()方法
语法:stringObject.chartAt(index)
var str = "I Love JavaScript!";
var char = str.charAt(4);//v
document.write("
"+char);
7-7返回指定的字符串首次出现的位置
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置(索引)。
语法:stringObject.indexOf(substring,startIndex)
参数说明:
substring 必须参数,规定需检索的字符串值
startpos 可选整数参数,规定在字符串中开始检索的位置。
合法取值是0到stringObject.length-1,
若省去该参数,则将从字符串的首字符串开始检索。
(1)当字符不存在返回索引-1
(2)下标为6的位置开始检索,返回索引9(因为是返回的数组的索引)
7-8split()方法将字符串分割为字符串数组,并返回此数组
语法:stringObject.split(separator,limit)
参数说明:separator必须参数,从该参数指定的地方分割stringObject
limit可选参数,分割次数,如果设置参数,返回字符串不会多于这个参数
指定的数组,如果无参数,则不限制分割次数。
注意:如果把字符串("")用作separator,那么stringObject中每个字符之间会被分割
7-9 提取字符串substring()
语法:stringObject.substring(startIndex,stopIndex)
7-10 提取指定书目的字符substr()
语法:stringObject.substr(startIndex,length)
Math对象属性
*Math 对象属性
属性 描述
E 返回算术常量 e,即自然对数的底数(约等于2.718)。
LN2 返回 2 的自然对数(约等于0.693)。
LN10 返回 10 的自然对数(约等于2.302)。
LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)。
LOG10E 返回以 10 为底的 e 的对数(约等于0.434)。
PI 返回圆周率(约等于3.14159)。
SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)。
SQRT2 返回 2 的平方根(约等于 1.414)。*/
/*Math 对象方法
方法 描述
abs(x) 返回数的绝对值。
acos(x) 返回数的反余弦值。
asin(x) 返回数的反正弦值。
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x) 对数进行上舍入。
cos(x) 返回数的余弦。
exp(x) 返回 e 的指数。
floor(x) 对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
toSource() 返回该对象的源代码。
valueOf() 返回 Math 对象的原始值。*/
1.1数组连接concat()
arrayObject.concat(array1,array2,...,arrayN)
1.2 指定分隔符连接数组元素join()
语法:arrayObject.join(分隔符)
注意:返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容。 我们使用join()方法,将数组的所有元素放入一个字符串中 */
3数组排序sort()
sort()方法使数组中的元素按照一定的顺序排列。
语法:arrayObject.sort(方法函数)
1、计时器
setInterval()/clearInterval()
setTimeout()/clearTimeout()
1s=1000ms
history对象
back()前
forward()后
go()某个
Location对象
语法:Location[属性|方法]
GreateElement
getAttribute增加文本属性
innerHTML增加文本内容
9-1插入节点appendChild()
语法:appendChild(newnode)
参数:newnode:指定追加的节点
var parentnode = document.getElementById("test");
var newnode = document.createElement("li");
newnode.innerHTML = "css";
parentnode.appendChild(newnode);
AJAX - 创建 XMLHttpRequest 对象
1、variable=new ActiveXObject("Microsoft.XMLHTTP");
2,、var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
AJAX向服务器发送请求
xmlhttp.open(“GET”,“test1.txt”,true);
xmlhttp.send();
jQuery选择器
1、#//id选择器
2、.//类选择器
3、*//全部选择器
4、li//元素选择器
5、层级选择器
$(document).ready(function(){
});
attr()有4个表达式
1、attr(传入属性名):获取属性的值===js=getAttribute
2、attr(属性名,属性值):设置属性的值==setAttribute
3、attr(属性名,函数值):设置属性的函数值
4、attr(attributes):给指定元素设置多个属性值,即:attributes={属性名一:“属性值一”,属性名二:“属性值二”,...}
removeAttr()删除方法
语法:.removeAttr(attributeName)
$("#demo").attr("class","div-style");//设置class属性,值div-style
$("#demo").removeAttr("name");//移出name属性
.html处理的是元素内容,.text处理的是文本内容
.html只能使用在HTMl文档中,.text在HTML和XML文档中都能使用
新增类
1、 .addClass(className):为每个匹配元素所增加的一个或多个样式名
2、.addClass(function(index,currentClass));这个函数返回一个或更多用空格隔开的要增加的样式名
.addClass()方法不会替换一个样式类名。只是简单添加一个样式类名到元素上
一、jQuery提供的存储接口
jQuery.data(element,key,value)//静态接口,存数据
参数说明:element:要关联数据的DOM对象
key:储存的数据名
value:将要储存的任意数据
jQuery.data(element,key)//静态接口,取数据
参数说明:element:要查询数据的DOM对象
key:储存的数据名
.data(key,value)//实例接口,存数据(必需。规定要设置的数据的名称,必需。规定要设置的数据的值。)
参数说明:key:储存的数据名
value:将要储存的任意数据
.data(key)//实例接口,取数据
参数说明:key:储存的数据名
6217975810001350484
删除DOM节点
1、empty()删除匹配的元素集合中所有的子节点(删除子集)
2、remove([expr])从DOM中所有匹配的元素。(删除子集和本身)
3、detach([expr])DOM节点删除之保留数据的删除操作detach()
get直接暴露在URL上/post隐藏发送。。。。通过btn来提交
action/method
jQuery.ajax({});
type:类型,"POST"或"GET",默认值为“GET”
url:发送请求的地址
async:设置异步,(默认:true)默认设置下,所有请求均为异步。
如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。
data:是一个对象,连同请求发送到服务器的数据
dataType:预期服务器返回的数据类型,如果不指定,jQuery将自动根据http包MIME信息来判断,一般我们采用json格式,可以设置”json“
success:是一个方法,请求成功后的回调函数,转入返回后的数据,以及包含成功代码的字符串
error:是一个方法,请求失败是调用此函数,转入XMLHttpRequest对象