(2)语法2:数组、函数、函数一些细节、匿名函数、动态函数
来源:互联网 发布:关系数据库中关系是指 编辑:程序博客网 时间:2024/06/05 16:52
一、数组
数组用于存储更多的数据,是一个容器
js中的数组定义的两种方式
特点:①长度可变
②元素的类型任意,建议使用数组时,存储同一类型的元素,方便操作(比如算术运算)
数组是js中的最常用容器,有很多功能,待函数处再详细了解
1)数组定义的第一种方式
var arr=[ ]; var arr={2,6,5};
<script type="text/jscript"> var arr=[3,1,5,9]; alert("len:"+arr.length); alert(typeof(arr)); arr[4]=54; arr[5]="abc"; arr[6]=true; for(var x=0;x<arr.length;x++) { document.write("arr["+x+"]="+arr[x]); document.write("<br/>"); }</script>
输出:
2)数组定义的第二种方式:使用了javascript中的Array对象来定义
var arr=new Array( );
var arr1=new Array( 5);//数组定义并且长度为5
var arr2=new Array(5,6,7);定义一个数组,元素为5,6,7
二、函数
函数:一个功能的封装体
定义功能需要两个明确:1)功能的结果 。2)功能实现中参与运算的未知的内容
格式:通过指定的关键字来定义。
function 函数名 (参数列表)
函数体;
return 返回值;//若没有具体的返回值,return省略
}
函数也是调用才能使用
直接在body内写调用就行
<script type="text/jscript"> function demo(){ alert("demo run"); } demo();//调用 function add(a,b)//不用写变量var { return a+b; } var c=add(2,3); alert("c="+c); </script>
细节①:只要使用函数的名称,就是对这个函数的调用,(没有重载形式)函数中有个数组在对函数的参数进行存储,这个数组就是argument
注意也不允许重名, 如参数列表x和for中自定义的参数
function show(x,y) { // alert(arguments.length); for(var a=0;a<arguments.length;a++) { document.write(arguments[a]); } // alert(x+":"+y); } show(3,2,5,1);//建议函数中定义几个参数,就传递几个实参
细节②函数名的含义
function getSum() { return 100; } var sum=getSum;//若写getSum(),则为函数调用 alert("sum="+sum);
js是基于对象的,所以函数也是对象,即函数对象(堆),函数名在栈中,函数名其中是个地址,指向了函数对象。在var sum=getSum;中,getSum的地址赋给了sum,sum就也指向了这个对象,然后alert输出的是字符串,此对象的字符串就是函数。
在Java中:
demo d=new demo();
System.out.println(d);//因为demo继承了Object类,所以打印会出现哈希码getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
细节③:
function show_2() { alert("show2 run"); }alert(show_2());//第一个弹出的是:show_2 run 第二个弹出的是:undefined 因为函数没有返回值
三、动态函数:使用的是js中内置的一个对象Function
var function_name = new Function(arg1, arg2, …, argN, function_body)
在上面的形式中,每个 arg 都是一个参数,最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串。
动态体现在该对象写什么函数体就是什么对象。
var add=new Function("x,y","var sum;sum=x+y;return sum") var he=add(4,8); alert("he="+he);
四、匿名函数
没有名字的函数,通常是函数的简写形式,需要一个对象指向这个函数
var add2=function(a,b){ return a+b; } alert(add2(7,8));它是如下的简写形式:function add3(a,b) { return a+b; } var i=add3(3,5); alert(i);
- (2)语法2:数组、函数、函数一些细节、匿名函数、动态函数
- 数组、函数一些小细节
- JavaScript之 ------ 函数(一般函数、动态函数、匿名函数)
- Scala匿名函数语法
- JavaScript动态函数,匿名函数
- PHP匿名函数的细节
- JavaScript中(动态函数,匿名函数)函数
- 匿名函数2
- Lambda 函数 (匿名函数)
- 匿名函数(拉姆达函数)
- js动态函数和匿名函数
- JS-动态和匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 用swaks进行发件人伪造
- java 构造方法与静态方法
- jQuery节点创建与属性的处理
- 博客搬家了
- 从零开始使用TensorFlow可视化工具Tensorboard
- (2)语法2:数组、函数、函数一些细节、匿名函数、动态函数
- 三维重建面试15:动态相机参数标定
- 求{1,2,3}的子集————回溯法(递归与非递归)
- Android 图文垂直跑马灯
- MinGw32+vc2008 编译 ffmpeg-3.3.2
- 【PHP基础知识】——Cookie知识详解与使用
- 字符串使用、函数指针、内存分配
- C++ do-while语句详解
- 使用Sinopia搭建私有npm仓库不能下载带有@符号的包