JS随笔5
函数
函数就是完成某个功能的一组语句,函数由关键字 function 函数名加一组参数定义; 函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织结构更
多清晰
document.write( 1 + "<br>" ); document.write( 5 + "<br>" ); document.write( 3 + "<br>" ); document.write( 10 + "<br>" ); document.write( 5 + "<br>" ); //我们可以用函数实现上面代码 function dw(output) { document.write(output + "<br/>"); } dw(1); dw(5); dw(3); dw(10); dw(5);
使用 return 语句从函数返回值
function sum (num1, num2){ return num1 + num2; } var s = sum(1, 2); alert(s);
注意: 位于return 语句之后的任何代码都永远不会执行! 在JavaScript中,不一定要指定返回值!
变量既可以是全局,也可以是局部的。
全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你 就可以在这个脚本的任何位置(包括函数内部)引用它,全局变量的作用域是整个脚本; 局部变量:只存在于对它做出声明的函数内部,在函数的外部无法相用它,局部变量的 作用域仅限于函数内部 .
// 全局变量 var a = 1; // ... var a = 2; // 局部变量 function func(){ console.log(a); var a = 3; console.log(a); } func(); console.log(a);
ps:在函数 外 用 var 声明的变量 定义在函数当中,但是没有用var声明的是全局变量 定义在函数当中,用var声明的是局部变量
1.Date 日期对象
Date对象用来处理日期和时间。
var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString(); //获取日期与时间
var myDate = new Date(), time = myDate.getMilliseconds(); // 对象.方法() document.write(time);
var D = new Date(), y = D.getFullYear(), m = D.getMonth() + 1, d = D.getDate(), h = D.getHours(), i = D.getMinutes(), wd = D.getDay(), week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; document.write( y + "年" + m + "月" + d + "日 " + h + ":" + i + " " + week[wd] );
2.Math 对象用来处理复杂的数学运算
Math对象是javascript的一个全局对象,不需要用new 创建 Math.abs(-2); 该方法可返回一个数的绝对值。 Math.round(5.5); 该方法可把一个数字舍入为接近的整数。 Math.random(); 该方法可返回介于 0(包含) ~ 1(不包含) 之间的 一个随机数。 Math.ceil(1.4); ceil() 方法可对一个数进行上舍入。 Math.floor(1.6); floor() 方法返回小于等于x的大整数。 Math.pow(4,3); pow() 方法返回 x 的 y 次幂。
随机数的取值:
// 0-5 var result = parseInt(Math.random() * 5); // 5-10 var result = parseInt( 5+Math.random() * 5); // 0-10 var result = parseInt(Math.random() * 10); // 0-100 var result = parseInt(Math.random() * 100); // 50-100 var result = parseInt( 50 + Math.random() * 50);
我们可以用随机值做一个抽奖程序:
var cj=parseInt(Math.random()*10); if(cj==1){ alert('您抽到的数字是:'+cj+' '+'马尔代夫7人7日游'); } else{ alert('您抽到的数字是:'+cj+' '+'谢谢参与'); }
3.Array 数组对象
我们的变量一般都只能存储一个内容 所以它其实是一个单一的容器 我们的数组一般可以存一个或者是多个值 ,所以数组是一个大的容器
组成部分: 数组其实是由多个 (键值) 所组成的一个多容器 数组元素是由一对(键值)组成的 而我们的数组是由多个数组元素所组成的 数组的索引 默认是从0开始的。
前面有说。。。
//定义数组的 3种方式 var arr = new Array(23,23,45,56,435); var arr2 = [23,34,546]; var arr3 = new Array(); arr3[0] = 234; arr3[1] = 234; //获取数组的长度 .length document.write(arr.length); //获取数组下标所对应的值 document.write(arr2[0]); //数组元素添加 var arr_len = arr.push('abc','efg'); // 将一个或多个新元素添加到数组 结尾,并返回数组新长度 var arr2_len = arr2.unshift('abc') // 将一个或多个新元素添加到数组开 始,数组中的元素自动后移,返回数组新长度 arrayObject.splice(index,howmany,item1,.....,itemX) //index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 //howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 //item1, ..., itemX 可选。向数组添加的新项目。 arr3.splice(0,0,"abc"); //将一个或多个新元素插入到数组的指定位置,插入位置 的元素自动后移,返回""。 document.write(arr3[0]); //数组元素删除 var del = ["aa",23,345,56,34,"bb"]; var del_last = del.pop(); //移除后一个元素并返回该元素值 var del_first = del.shift(); //移除前一个元素并返回该元素值,数组中 元素自动前移 var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量 deleteCount的元素,数组形式返回所移除的元素 //document.write(del_arr); //数组的截取和合并 //数组截取 var merge = ['aa','bb',45,54,'cc']; var merge_len = merge.slice(0,2); //以数组的形式返回数组的一部分,star t 开始位置 end 结束位置 不包括end项 //合并数组 var a = [1,2,3]; //document.write(a.concat(4,5)); //数组元素排序 var arr_sort = ['aa',23,45,4456,23]; var res_sort = arr_sort.reverse(); //反转元素 (钱的排到后,后的 排到前),返回数组地址 var num_arr = [23,11,45,56,56]; //按照字母顺序 或者是按照数字大小进 行排序 var res_num = num_arr.sort(); //document.write(res_num); //数组元素转化为字符串 和 字符串转化为数组 var arr4 = ['aa','bb',23,232,435,34]; var str_arr = arr4.join("-"); //返回字符串,这个字符串将数组的每一个 元素值连接在一起,中间用 - 隔开。 //document.write(str_arr); //字符串转化为数组 var test = "asd,asd,asd,asd,fg,fgf"; var arrTest = test.split(","); //转化为数组 console.log(arrTest.length); //数组的遍历 var demo = [33,23,12,3,343]; var i =0; while(i<demo.length){ document.write(demo[i]+"<br>"); i++; } do{ document.write(demo[i]+"<br>"); i++; } while(i<demo.length); for(var i=0;i<demo.length;i++){ document.write(demo[i]+"<br>"); }
看个短点的:
var arr = [ "标题1", "标题2", "标题3", "标题4" ]; arr.push("标题5", "标题6"); arr.unshift("标题7", "标题8"); for(var i = 0; i < arr.length; i++) { document.write("<li>"+arr[i]+"</li>"); }