论坛首页 Java企业应用论坛

Javascript学习笔记---javascript中的函数

浏览 1380 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-08  
函数是定义一次,可以多次调用执行的代码片段.
javascript中的函数和java中的函数的区别:
1,传入的参数个数可以和定义的时候不一样,参数类型是不确定的.
函数中有个隐藏属性aguments来操作函数的参数.等下会专门介绍aguments参数
2,函数可以作为表达式,作为数据使用.
除了可以用function f(){}这种形式来定义函数外,我们还可以用函数直接量来定义函数,
var f=function (){},以上这两种方法都是把函数赋值给了变量f,在其他地方可以通过使用()运算符来执行函数,也可以把f作为参数传递给其他函数,或者把f赋值给其他变量.
3,函数是可以嵌套的.
函数中可以嵌套函数的定义,如果用function f(){}方式定义函数,则函数的定义只能方法父函数的顶层,而不能放在代码块中,直接量定义不再此例.
4,隐藏属性aguments:
aguments是一个类数组对象,它的length属性表示实际传入的参数的个数,我们可以通过aguments[i]来取得各个参数,另外它还有一个属性callee,aguments.callee表示这个函数的句柄,我们可以在未命名函数中使用aguments.callee(参数...)来进行函数的自身调用.
5,隐藏属性length:
函数自身的length属性和aguments的length属性不一样,自身的length表示需要接收的参数个数,也就是定义的时候定义的个数.
6,隐藏属性this
当函数作为对象的方法的时候,this表示该对象,如果函数是全局函数,则this表示全局对象(如网页中的windows)
7,定义函数自身的属性
虽然typeof(函数)的值不是Object,但是function其实是一个特殊的类,它可以拥有自身的属性,如果我们需要使用一个在函数多次调用的时候共用的变量,我们除了定义成全局变量外还可以定义成函数自身的属性.
8,函数的两个方法:call和apply.它们可以将函数作为指定对象的方法来调用
call拥有多个参数,其中第一个参数表示调用它的对象,其余的是传入函数的参数.
apply只有两个参数,其中第一个参数表示调用它的对象,第二个参数表示传入函数的参数所组成的数组.
9,函数还可以通过new Function(参数1,参数2,参数3...);来定义,其中,最后一个参数是函数体,前面的参数全是函数的参数,通过这种方式我们可以在运行的时候动态创建函数.通过这种方式创建的函数的作用域是顶层作用域.



一些知识点:
1,||运算符,如果||前面的表达式值为假则取运算符后面的,否则取||前面的.可以使用a=a||[]来代替if(!a){a=[]}
2,js中数据的类型typeof(a),一共可以得到的值:
(1),字符串---'String'
(2),数字--'number'
(3),函数--'function'
(4),类--'Object'
其中,数组也是属于类,要判断是否数组则需要再判断a instanceof Array
判断类数组:确定a是非数组对象,并且a拥有elngth属性
3,js中的switch可以对字符串使用
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics