JavaScript
一.js的函数学习
注:js的声明区与执行区域是一起的,都是在js代码域中
1.函数的声明:
方式1:
function 函数名(形参1,形参2….){执行体}
方式2:
var 函数名 = new Function(“形参1”,“形参2”,….,“执行体”);
注意:此声明表明在js中函数是作为对象存在 。
方式3:
var 变量名 = function(形参1,形参2,……){函数执行体}
2.函数的参数
js中的函数调用时,形参可以不赋值,不会报错。
js中的函数在调用时,形参赋值可以不全部赋值,不会报错,但是实参会依此进行赋值。
3.函数的返回值
在js中如果函数有返回值则直接返回,没有返回值默认返回undefined
4.函数的执行符
①在js中函数的执行符值()
②没有小括号则函数名其实就是一个变量
③加上小括号则函数会被执行
var test1 = function{
alert("函数执行符");
return "js";
}
5.函数作为实参传递
在js中函数是可以作为实参进行传入
<script type="text/javascript">
function testobj(a){
alert(a);
}
var test = function(){
alert("我是函数参数");
}
testobj(test());
</script>
6.开发中经常用的传递方式
function testobj2(fn){//testobj2函数在被调用时,实参必须是一个函数对象
fn();
}
二.js中的类学习
1.类的声明
语句:function 类名(形参1,形参2….){
this.属性名1 = 形参1;
this.属性名2 = 形参2;
}
function Person(name,age){
this.name = name;
this.age = age;
//对象里面的对象
this.test=function(a){
alert(a);
}
}
2.使用类
语句: var 对象名 = new 类名(实参1,实参2….);
注意:js中类的内容是对象的公共部分,每个对象还可以自定义的进行扩充
var p1 = new Person("张三",12);
alert(p1.name);
3.类的"继承":prototype关键字
同过prototype关键字实现了不同对象之间的数据共享
三.js中对象的学习
1.String对象:操作字符的。
使用:字符串.函数名即可
①大小写转换
toUpperCase()转大写
toLowerCase()转小写
②字符串截取
substr(0,1) 从指定开始位置截取指定长度的字符串
substring(0,1) 从指定位置开始到指定的结束位置的字符串(含头不含尾)
③查找字符位置:
indexof 返回指定字符第一次出现的位置
lastIndexof 返回指定字符最后一次出现的位置
例子:
function testString(){
//创建字符串
var str = "abcdefg";
//大小写转换
alert(str.toUpperCase()+":"+str.toLowerCase())
//字符串截取
alert(str.substr(0,1))
//0是指定位置,1是长度
alert(str.substring(0,1))
//0是起始位置,1是结束位置
}
2.Date对象:
使用: var 变量名 =
注意:获取的时客户端的时间,不能作为系统功能校验的时间的。
例子:
//Date对象
function testDate(){
//创建日期对象
var d = new Date();
//操作日期和时间
//获取年份
alert(d.getYear()); //返回从1900年距今的年份数
alert(d.getFullYear()); //返回当前的年份
//获取月份
alert(d.getMonth()+1); //获取当前的月份数(注意:要+1)
//获取日期
alert(d.getDate()); //返回当前的日期
alert(d.getDay()); //返回星期数,注意星期日返回0
//获取小时数
alert(d.getHours()); //返回当前的小时数
//获取分钟数和秒数
alert(d.getMinutes()); //返回当前的分钟数
alert(d.getSeconds()); //返回当前的秒数
}
3.Math对象:
使用:Math.函数名
①random()
②round()//四舍五入
③ceil()//向上取整
④floor()//向下取整
例子:
//Math对象
function testMath(){
//随机数字
alert(Math.floor(Math.random()*9000+1000));//生成4位随机整数
}
4.Global对象:
①eval()
②isNaN()
③parseInt()
④parseFloat()
例子:
//Global对象
function testGlobal(){
//eval方法:将字符串转换为js代码
eval("var a =123;");//可以直接执行里面的js代码
alert(a);
//isNaN方法:判断利用Number强转后是否是数字
if(!isNaN(a)){
alert("是数字");
}else{
alert("不是数字")
}
}
//parseInt方法:将以整数开头的字符串的数字提取出来
parseInt("abc");返回NaN
parseInt("12abc");返回12