javascript
函数
声明:
function 函数名(形参1,形参2...(可不写)){函数体(执行;return"表达式")}
调用:
函数名(形参1,形参2..);
或
var 变量名=function(形参1,形参2...(可不写)){函数体(执行;return"表达式")}
调用:
变量名(形参1,形参2..);(带括号直接调用 绑定事件调用不能带括号)
注:
第二种也称为匿名函数
return调用显示结果, return返回值给函数的调用,return多个值时返回最后一个值(如需返回多个值可用数组)。
也可用return终止函数(没有返回值时返回undefined)
当实参多于形参时,多出的实参不参与函数
当实参少于形参时,函数内的形参为undefinded
arguments
用于存储实参,arguments.length 输出当前里面参数个数
argumens[0]:第一个值(下标从0开始);
eg:求n个数的和时
for(var i=0;i<arguments.length;i++){res +=arguments[i];}
注:在函数的变量和形参为局部变量(调用时创建,调用结束后销毁,有效范围为当前函数),在外部变量为全局变量。全局变量和局部变量可不同赋值,离哪个作用域近,调用哪个同名变量(必须在作用域内声明才有效,否则调用域外部变量)。
数组
基本数据类型 特殊数据类型 复合/引用数据类型
var arr=new(可省略) Array(1,1,“*”)
或
var arr=[1,1,"1"]
当使用new array 或array创建新数组,且只有一个数字时,创建一个这么长的数组,即var arr=array(10),时创建一个有10个空位置的数组,而用var arr=[10]时为创建一个只有10的数组。
数组.length 输出当前里面参数个数,可以修改length长度来实现数组扩容的目的
数组[0]:第一个值(下标从0开始);(类似arguments)
注:数组中存储数据,每一个元素可以是任何数据类型,数组中存储数组,可以用下标访问数组中的数组的元素arr[3] [1] ;
注: 不要直接给数组名赋值,否则里面的元素全都没有了
复杂数据类型 首先在栈里存放地址,十六进制表示,然后这个地址指向堆里面的数据
删除数组元素
delete arr[索引]
删除后为empty
数组的遍历
for循环
for(var i=0;i<arr.length;i++)
{document.write(arr[i]);} (安全级别更高)
for…in循环(快速遍历,快速枚举)
for(var i in arr){document.write(arr[i]);}
检测是否为数组
1.instanceof 运算符
eg:
arr1 instanceof Array;
2.Array.isArray(参数);
eg:
Array.isArray(arr1);