什么是javascript
1. javascript是用来向html页面添加交互行为的
2. javascript是一种脚本语言,它是由浏览器解释执行的
为什么要使用javascript
1. javascript可以动态的操作改变html元素,从而动态地改变页面
2. javascript可以对页面的事件做出响应
如何使用javascript
1 如果是在html页面中,javascript代码必须编写在<script></script>中
2 如果是在.js文件中则可以直接编写javascript代码
Javascript数据类型
1 String,字符串对象
1.1 length:字符串长度,例: “abc”.length
1.2 indexOf():查找字符串,返回位置,否则返回-1,例:”abc”.indexOf(“b”)
1.3 replace(regexp,newStr):替换匹配的字符串或正在表达式
1.3.1 regexp的格式为/str/[p],使用p为全局,否则不是
1.3.2 当用p时全局替换,替换所有的b,例:”bbbnnn”.replace(/b/p,”x”)
1.3.3 当不用p时,只替换第一个b,例:”bbbnnn”.replace(/b/,”x”)
1.4 split():把字符串分割为字符串数组,例:"a,b,c,d,a".split(",")[3]
1.5 substring(start,stop):提取字符串,(注意:不提取stop位置的值),例:"abcdefg".substring(2,5)
2 Date,时间对象
2.1 getFullYear()/Month()/Date()/Hours()/Minutes()/Seconds():获取年、月、日、时、分、秒,例:new Date().getFullYear()
2.2 getTime():返回1970年至今的毫秒数,例:new Date().getTime()
3 Boolean,布尔类型
如果逻辑对象无初始值或其值为0、-0、null、””,false、undefined或NaN时,结果为false,否则为true,例:alert(Boolean(undefined)); alert(Boolean(NaN));
4 Array,数组对象
4.1 声明创建数组
4.1.1 var list = new Array(); list[0]=…; list[1]=…; ……
4.1.2 Var list = [“aaa”,”bbb”,”ccc”];
4.2 length:数组长度:例:[1,2,3,4,5,6].length;
4.3 concat():连接一个或多个数组,例:["a","b"].concat(["c","d"]);
4.4 push():向数组的尾部添加一个或多个元素,例:var list = ["a","b","c","d"]; list.push(["1","2"]);
4.5 sort():对数组进行排序,例:[3,2,4,1].sort();
4.6 splice(start, length):删除数组项,例:[1,2,3,4].splice(2,2);
5 Math,数学对象
5.1 random():返回0-1之间的随机数,例:alert(Math.random());
6 RegExp,正在表达式对象
6.1 当我们要从字符串中查找某些信息时,逻辑上我们会有某种规则,而正在表达式则可以很好的表达这种规则,从而使我们获取到想要的信息
6.2 声明正在表达式
6.2.1 直接创建:/xxx/[g|i|m],例://d+/g
6.2.2 声明创建:new RegExp(“xxx”[,g|i|m])(注意:g:全局匹配,i:不区分大小写匹配,m:多行匹配),例:var reg = new RegExp(“/d+”, g);
6.2.3 具体的正在表达式语法需要单独的列出来学习。
6.3 执行正在表达式
6.3.1 test(str):检索str中的值,返回true或false,例://d/.test(“gg1kk”);
6.3.2 exec(str):检索str中的值,返回查找到的值或null,例:/[A-Z]/.exec(“abc”);
数据类型转换
可使用,数据类型(xxx)来对数据进行转换。
例:alert(Number(“aaa”)); //返回NaN,NaN表示一个不是数值的值
alert(Number(“111”));
变量
1. javascript区分大小写,所以变量也区分大小写
2. 变量必须以字母或下划线开始
3. 声明变量var,可以不使用,但请尽量使用,例:var x = 2;
函数function
1 函数是可重用的代码块
2 声明函数
2.1 定义式声明:function xxx(){};,例:function say(){alert(“function”);}
2.2 匿名函数:var fn=function(){};,例:var say=functioin(){alert(“no name”)};(说明:fn是一个函数指针,而它后面的函数是一个匿名函数,这样的函数也叫动态函数,是执行到该语句时才“编译”该函数的)
3 arguments对象,传入的参数的集合,例:
x();
y(1,2,3);
z(1,2);
function x(){alert(arguments.length);}
function y(a,b,c){alert(arguments.length);}
function z(a,b,c){alert(arguments.length);alert(arguments[0]);}
for…in…循环(遍历数组)
例: var list = [5,4,3,2,1];
for(var x in list)alert("x="+x+" list["+x+"]="+list[x]);
try…catch… 异常处理
1 例:try{
dddalert("unuseful");
}catch(err){
for(var x in err)alert(x+" type:"+ typeof x);
alert("description:"+err.description+"/rmessage:"+err.message);
}
2 throw “xxx” 抛出异常
例:try{
throw "my thorw";
}catch(err){
for(var x in err)alert(x+" type:"+ typeof x);
alert(err);
}
/为转义字符,可通过他来使用特殊字符,例:alert(“/”hello/””);
Cookie
1 cookie是储存于客户端的变量,同一台计算机同一个浏览器同一个页面对应一个cookie。
1.1 cookie是由键值对组成的,键值之间使用=号相连(记住值需要escape()来转化一下)
1.2 键值对之间使用;号分隔
1.3 通过设置expires可以设置当前插入或修改的键值对的过期时间,如果不设置,则立即过期;在有效期内,可以修改键所对应的值
2 操作cookie
2.1 创建修改cookie,例:
function
var t = new
t.setDate(t.getDate() + expiredays);
document.cookie = key + "="
(expiredays==null?"":";expires="
}
2.2 删除cookie,例:
function
var t = new
document.cookie = key + "=;expires="
}
2.3 读取cookie
function
var
if(ck.length>0){
if(ck.indexOf(key)>-1){
var
var end = str.indexOf(";")>-1?str.indexOf(";"):str.length;
return str.substring((ck.indexOf("=")+1), end);
}
}
return null;
}
Javascript全局函数
1. escape()/unescape():对数据进行url编码/解码,例:var url = “name=”+escape(“名称”);
2. eval():将字符串作为脚本执行,例:eval("alert('js str');");
3. isNaN():检查某个值是否非数值,例:isNaN(100); isNaN(“100”); isNaN(“aaa”);