一、函数返回值
1.什么是函数返回值
函数的执行结果
2. 可以没有return // 没有return或者return后面为空则会返回undefined
3.一个函数应该只返回一种类型的值
二、可变参(不定参)arguments
function sum (a,b) { var result=0; var i=0; for(i=0;i<arguments.length;i++) { result+=arguments(i); } alert(resulet); } sum(12,5,7,5,5,6,7,3,7)
案例:取非行间样式
案例所需知识
因为直接使用style只能获取定义在行内的样式,因此取非行间样式需要用到下面的属性—获取计算后的样式(当前样式/最终样式)
currentStyle //IE下可用,无法取得复合样式
GetComputedStyle() //FF下可用
样式可分为:
基本样式 如:width
复合样式 如:background //有color,posiition,repeat,image等属性
简单兼容如下:
oDiv=getElementById("div1");
if(oDiv.currentStyle) { //IE alert(oDiv.currentStyle.width); } else { //FF alert(getComputedStyle(oDiv,false).width); }
简单的函数封装:
function getStyle(obj,attr) { if(obj.currentStyle) { return obj.currentStyle[attr]; } else { return getComputedStyle(obj,false)[attr]; } }
三、数组基础
1.如何定义
方法一 var arr=[1,2,3,4];
方法二 var new Array(1,2,3,4);
无区别一般用方法一代码短
2.数组的属性
length
既可以获取,又可以设置
例:快速清空数组:arr.length=0;
3.数组使用原则
数组应该只存一种类型的变量
四、数组常用方法
1.添加
push(元素) 尾部添加 arr.push(5)
unshif(元素) 头部添加
2.删除
pop() 从尾部弹出
shift() 从头部弹出
3.排序
sort([比较函数])排序一个数组
(1)排序字符串(默认排序字符串)
var arr1[‘small‘,‘hello‘,‘you‘,‘big‘]; var arr2[34,100,98,4]; arr1.sort(); arr2.sort(); alert(arr1); alert(arr2);
结果:big,hello,small,you
100,34,4,98
(2)排序数字
arr2.sort(function(num1,num2){ return num1-num2//从小到大,num2-num1 });
结果:4,34,98,100
4.转换类
(1)concat连接数组
var arr1[1,2,3,4];
var arr2[5,6,7,8];
alert(arr1.concat(arr2));
结果:1,2,3,4,5,6,7,8
(2)join(分隔符)
用分隔符,组合数组元素,生成字符串
alert(arr1.join("-"));
结果:1-2-3-4
(3)split与join相反
var arr3=‘12-5-7-8" var arr3=str.split(‘-’); alert(arr3[0]);
结果:12
5.插入、删除
splice(开始的位置,长度,元素)
var arr[1,2,3,4,5,6];
(1)中间删除
arr.splice(2,3)
结果:126
(2)中间插入
arr.splice(5,0,‘a’,‘b‘,‘c‘)
结果:123456abc
(3)中间替换
arr.splice(0,2,‘a’,‘b‘,‘c‘)
结果:ab345
原理:先删除再插入
学习笔记,错误请纠正~