1.JavaScript
a.定义:JavaScript 是脚本语言,是一种轻量级的编程语言
b.实现:①直接通过标签里面的onXX属性驱动js的执行
<input type="button" value="测试" onclick="alert('hello')">
②引入外部js文件——JavaScript File
<script src="my.js"></script>
③可被放置在 HTML 页面的 <body> 和 <head> 部分中
<script type="text/javascript">
alert("script");
</script>
2.数据类型:
a.数据类型:字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、Null、Undefined
var num = 1;
var str = "hello";
var flag = true;
var str1;
注:加了var声明变量,代表的是局部变量,不加则代表的是全局变量
b.通过 new Number 可以进行与字符串和布尔的转换:
var num = new Number(1);
var num = new Number(true); //结果为1
var num = new Number("12"); //如果字符串不为数字,则结果为NaN
c.通过 new String 可以进行与数字和布尔的转换:
var str = new String("hello");
var str = new String(12);
var str = new String(ture); //结果为true
d.通过 new Boolean 可以进行与数字和字符串的转换:
var flag = new Boolean("123"); //非空为真
var flag = new Boolean(2); //非0为真
注:字符串:“”空为false,非空为true
数字:非0为true,0为false
e.null 与 undefined 的区别:
①undefined :声明了变量并未初始化
②null:当在文档中找不到这个元素的时候
f.对象(Object):
①初始化:
//对象初始化方式一:
var person = {
userName:"张三",
userPwd:"123",
userAge:18
} //对象初始化方式二:
var user = new Object();
user.userName = "李四";
user.userAge = 18;
②属性访问:
//对象的属性访问方式一: 对象名.属性名;
alert(user.userName); //对象的属性访问方式二: 对象名["属性名"];
alert(user["属性名"]);
g.数组
声明:
var array = new Array(); //声明方式一
var array = new Array(3); var nums = [1,2,"张三"]; //声明方式二 var strs = new Array("张三","李四"); //声明方式三
var strs = new Array(new Number(2));
3.运算符
a.算数运算符:+ - * / % ++ --
b.赋值运算符:+= -= *= /= %=
c.比较运算符:== === > < >= <= !=
①===:表示类型和值都一样
②==:表示值一样
在js中字符串的比较一般用==来代替.equal
d.逻辑运算符:&& || !
e.三目运算符:
var num = 判断表达式 ? 真执行表达式 : 假执行表达式
4.判断语句:if-else switch
5.循环语句:while do-while for for-each
for(i = 0; i < 100; i++){
alert(i);
}
for(index in names){
document.write(names[xindex]);
}
6.方法
a.声明:
function test(a,b){ //声明方式一
return a+b;
} var test1 = function(){ //声明方式二
} var test2 = new Function( function (){ //声明方式三
})
注:函数默认返回值未定义(undefined)
函数如果需要返回值,直接return
b.访问:
test();
7.String (String的方法与Java类似,详见API)
str.substr(1,3) //截取从下标为1的元素开始取3个
str.substring(1,3) //截取下标1到2的元素(前闭后开)
注:js字符串的length是属性,而java中是方法
8.时间(Date)
var date = new Date(); //声明
var date = new Date("2015/01/01"); getDay(); //一周的第几天(0-6)
getDate(); //一月的第几天(1-31)
getMonth(); //月份(0-11)
getFullYear(); //以四位数字返回年份
getHours(); //小时 (0 ~ 23)
getMinutes(); //分钟 (0 ~ 59)
getSeconds(); //秒数 (0 ~ 59)
getMilliseconds(); //毫秒(0 ~ 999) getTime(); //返回1970年1月1日至今的毫秒数
Date.parse("2015/01/01"); //指定日期的毫秒数
9.数学(Math)(方法与Java类似,详见API)
10.全局函数
isNaN(); //检查某个值是否是数字
Number(); //把对象的值转换为数字
String(); //把对象的值转换为字符串
parseInt(); //解析一个字符串并返回一个整数
parseFloat(); //解析一个字符串并返回一个实数
eval(); //计算 JavaScript 字符串,并把它作为脚本代码来执行
11.事件(Events)
a.UI相关:onload、onunload、onresize、onselect
b.焦点相关:onblur、onfocus
c.鼠标与滚轮相关:onclick、ondblclick、onmousedown、onmousemove、onmouseout、onmouseover、onmouseup
d.键盘相关:onkeydown、onkeyup、onkeypress
e.其他:onabord、onchange
12.正则表达式(RexExp)
var regex = /^[a-z]$/ g; ///pattern/attributes
var regex = new RegExp ("[a-z]","g"); //new RegExp(pattern, attributes); regex.text(str); //检索字符串中指定的值。返回 true 或 false
regex.exec(str); //检索字符串中指定的值。返回找到的值,并确定其位置
注:str.match(regex);
返回的是根据正则表达式匹配的结果
如果全局匹配,返回的是数组
如果没有匹配成功,则返回null