JavaScript函数

原创 2012年03月30日 23:35:23

在JavaScript中,函数本身与其他任何的内助对象在地位上是没有区别的,函数本身也是对象。

在JavaScript中:

函数可以被赋值给一个变量

可以被赋值为对象的属性

可以作为参数被传入别的函数

可以作为函数的结果被返回

可以用字面量来创建

1.函数对象

通过new 操作符来创建

var add=new Function("x","y","return(x+y)");


通过字面量来创建

function add(x,y){

  return x+y;

}

var add=function(x,y){

return x+y;

}


2. 函数的参数

在JavaScript中,函数的参数是比较有意思的,比如,你可以将任意多的参数传递给一个函数,即使这个函数声明时并未制定形式参数,比如:


function adPrint(str,len,option){

  var s=str ||"default";

   var l=len ||s.length;

   var o=option  || "i";

  s=s.substring(0,1);

switch(o){

    switch(o)  {

    case "u":

         s=s.toUpperCase();

         break;

    case "1":

         s=s.toUpperCase();

         break;

      default:

        break;

      }

     print(s);

}


}


adprint("hello,world");

adprint("hello,world",5);

adprint("hello,world",5,"1");  //lower case

adprint("hello,world",5,"u");  //upper case

函数adPrint在声明时接受三个形式参数:要打印的串,要打印的长度,是否转换为大小写的标记。但是在调用的时候,我们可以按顺序传递给adrint一个参数,

两个参数,或者三个参数


3.函数上下文

在JavaScript中,函数也是一种对象,并非其他任何对象的一部分。函数的上下文是可以变化的,因此,函数内的

this也是可以变化的,函数可以作为一个对象的方法,也可以同时作为另一个对象的方法,总之,函数本身是独立的。

可以通过Function对象上的call或者apply函数来修改函数的上下文:

4.call和apply

call 和apply通常用来修改函数的上下文,函数中的this指针将被替换为call或者apply的第一个参数。


//定义一个人,名字为jack

var jack ={

                name:"jack"'

                 age:26

                 }

//定义另一个人,名字为abruzzi

 var abruzzi ={

                  name:"abruzzi",

                  age:26

            }

//定义一个全局的函数

function printName(){

                    return this.name;

}

.//设置printName的上下文为jack,此时的this为jack

print(printName.call(jack));

//设置printName的上下文为abruzzi,此时的this为abruzzi

print(printName.call(abruzzi));

print(printName.apply(jack));

print(printName.apply(abruzzi));

只有一个参数的时候call和apply的使用方式是一样的,如果有多个参数:

apply的第二个参数为一个函数需要的参数组成的一个数组,而call则需要跟若干个参数,参数之间以逗号隔开即可





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

javascript函数基础

  • 2015-06-17 23:08
  • 123KB
  • 下载

javascript学习(3)——[基础回顾]函数

简单说下鄙人对js函数的理解,如果只是简简单单的说下函数的话,我想其实并不是特别困难的,但是要是细细的围绕着函数等一系列的周边来说的话,那么真的需要一点时间和精力了,当然本次属于基础回顾,也就简单的说...

javascript时区函数

javascript 函数

1 函数声明语句会被提前到外部脚本或外部函数作用域顶部,这种方式定的函数,可以在它被定义之前出现的代码所调用。 以表达式定义的函数,必须把它复制给一个变量,变量声明提前了,但是变量赋值不会提前,所以...

Javascript函数大全

  • 2014-04-25 09:17
  • 54KB
  • 下载

javascript里函数提升与逻辑运算

f = function() { return true; }; g = function() { return false; }; (function aa() { if (g()...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)