浏览 1436 次
精华帖 (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可以对字符串使用 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |