1.JavaScript:基于对象和事件驱动的脚本语言。嵌入到html中用。后缀名:.js
2.JavaScript的作用:
2.1:交互性:表单验证,异步请求。
2.2:与平台无关性:只需要浏览器解析,与平台无关。
2.3:安全性:不能直接访问本地磁盘。
5.1:行内引入:
eg:
5.2:内部引入:
eg:
alert("这是一个内部Js");
5.3:外部引入
eg:
6.1:js输出
eg:/*Js在html的body中输出*/
document.write("Hello Js");
/*弹出一个窗体输出*/
alert("Hello js2");
/*在控制台输出*/
console.log("Hello js3");
6.2:js数据类型:number,string,boolean,undefined,null
6.4:判断变量的类型:type 变量名
6.5:js中判断值是否是非数字不考虑变量数据类型:isNaN(变量)
6.6:==和===
==;在js中,比较是2个变量的值,不考虑数据类型
===在js中,比较的是2个变量的数据类型和值
6.7js中表示false:"",null,undefined,false,NaN,0
7.1:数组的声明:四种方式
eg://声明数组
var arr1=[1,7,9,11];
var arr2=new Array();
arr2[0]=33;
arr2[1]=11;
var arr3=new Array(3);
arr3[0]=33;
arr3[1]=11;
arr3[2]=55;
arr3[3]=22;
var arr4=new Array(88,22,66);
7.2:向数组中添加元素:三种方式
eg://向数组中添加元素
arr4[3]=77;
//向数组的末尾添加元素
arr4.push(11,33);
//向数组的开头或结尾添加元素
arr4.unshift(44,55);
7.3:删除数组中的元素:四种方式
eg://删除数组中最后一个元素
arr4.pop();
//删除数组中第一个元素
arr4.shift();
//删除数组中所有的元素
arr4.length=0;
//删除数组中指定位置的元素
delete arr4[4];
7.4:修改数组中的元素:两种方式
//删除数组中的元素,再添加新元素(替换数组中元素)
arr4.splice(2,3,99,33);//第一个参数删除起始位置,第二个参数删除,第三个参数 开始添加的新元素
//修改数组中元素
arr4[0]=66;
7.5:给数组排序:数据名.sort();
8.流程控制语句:if结构,if-else结构,多重if结构,嵌套if结构,switch结构,while循环,
do-while循环,for循环与java中的使用方式一样。
break和continue,return与java中的使用方式一样。
8.1:for-in与Java中的增强版的for不一样:
eg:/*for-in:遍历普通数组,遍历索引*/
var arr1=[1,5,2,4,6];
for(var i in arr1){
document.write(i+"
");
}
/*for-in:遍历Json对象,遍历的是对象的属性*/
var ob1={"sname":"肖宁","sage":18,"sex":"中"};
for(var i2 in ob1){
document.write(i2+"
");
}
/*for-in:遍历Json对象数组,遍历的是索引*/
var ob2=[{"sname":"肖宁","sage":18,"sex":"中"},{"sname":"洪伟坚","sage":17,"sex":"母"},{"sname":"容海波","sage":99,"sex":"女"}];
for(var i3 in ob2){
document.write(i3+"
");
}
9.Js中函数:相当于Java中的方法。函数不调用不执行。
9.1:声明语法:function 函数名(【参数列表】){
函数体;
【return 变量;】
}
函数调用语法: 函数名(【参数列表】);
eg:/*无参无返回值的函数*/
function show1(){
alert("这是一个无参无返回值的函数");
}
/*有参无返回值的函数*/
function show2(a,b){
alert("这是一个有参无返回值的函数,参数为:"+a+","+b);
}
/*无参有返回值的函数*/
function show3(){
alert("这是一个无参有返回值的函数");
return "哈哈";
}
/*有参有返回值的函数*/
function show4(a,b){
alert("这是一个有参有返回值的函数");
return a+b;
}
οnclick="show2(1,2)"/>
9.2:在Js中不能出现重载函数,原因javascript是一种弱类型的语言。参数列表无法区分数据 类型。
9.3:匿名函数:
声明语法:var 变量名=function(【参数列表】){
函数体;
【return 返回值;】
}
调用语法:变量名(【参数列表】);
eg:/*匿名函数*/
var f=function(num1,num2){
alert("这是一个匿名函数,参数为:"+num1+","+num2);
}
9.4:系统函数:
parseInt():试图将其收到的任何输入值转换成整数类型,转换失败则返回NaN,无论成功或失败,最后数据都是number.将数值部分能 转,不能转不要。
parseFloat():同上类似
eg:var num1="1a23";
num1=parseInt(num1);
var num2="3.14";
num2=parseFloat(num2);
isNaN():判断是否为非数字
isFinite():如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负 无穷大的数,则返回 false。
eg:document.write(isFinite(num4));
eval():会将其输入的字符串当作javascript代码来执行
eg://将String类型当作Javascript执行
eval("alert('你好')");
//将String类型转换为JavaScript对象
var s1="{'sname':'张三','age':18}";
document.write(typeof s1);
document.write("
");
var ob=eval("("+s1+")");
document.write(typeof ob);
document.write("
");
document.write(ob.sname+","+ob.age);
李老师讲的:
/* 类似java的可变参数的用法,来实现重载*/
function add(){
//console.log("-----------"+arguments.length);
var sum = 0;
for(var i=0;i sum += arguments[i]; } return sum; } //另外一种函数实现的方式: 类似匿名内部类方式 add2 = function(){ console.log("另外一种重要函数实现"); } add2(); //注意:这是函数实现,调用部分一定要写后面,否则调用不到 第二点: //parseInt: 将数字字符串转换为整数 var a = "99"; a = parseInt(a); console.log(a); //99 console.log(typeof a); //number a = "99感冒灵"; a = parseInt(a); //会将前面能转的转出来 console.log(a); //99 console.log(typeof a); //number a = "感冒灵99"; a = parseInt(a); //前面非数字,无法转--NaN console.log(a); //NaN console.log(typeof a); //number //a = "99"; a = "3.14"; console.log(parseInt(a)); //99 number 3 console.log(parseFloat(a)); //99 number 3.14 //---扩展---- console.log(parseInt("13",5)); //8 5进制的“13”转10进制输出 console.log(parseInt("13",8)); //11 8进制的“13”转10进制输出 console.log(parseInt("13",9)); //12 9进制的“13”转10进制输出 //判断是否为非数字: isNaN console.log(isNaN(NaN)); //true console.log(isNaN(11)); //false 是数字 console.log(isNaN("abc")); //true console.log(isNaN("123")) //false 是数字 //isFinite():判断输入的是否是一个既非Infinity也非NaN的数字 console.log(isFinite(NaN)); //false console.log(isFinite(Infinity)); //false console.log(isFinite("123")); //true console.log(isFinite("abc")); //false console.log(isFinite(11)); //true //eval():会将其输入的字符串当作javascript代码来执行 eval("var num = 5;alert(num);"); //应用场景: 在数据传输时有作用---json