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则需要跟若干个参数,参数之间以逗号隔开即可





JS函数式编程-Functional JavaScript

  • 2017年11月12日 13:34
  • 8.46MB
  • 下载

Javascript 不完全函数

刚从C#转Javascript, 用的教材是《JavaScript 权威指南(第6版)》。不完全函数看了2遍没看明白。把书上的代码敲下来,逐行加上日志进行分析后终于基本明白了。 不完全函数解决的是这么...

javascript函数式编程

  • 2017年10月14日 11:31
  • 37.54MB
  • 下载

jquery 入门(jquery是什么/与JavaScript的联系与区别/jquery版本/引包/入口函数)

1.  为何要学jQuery (1)JS的劣势 (2)jQuery是什么(理解) jQuery是别人帮我们封装好的库。 jQuery是JS的一个库,封装了开发...

javascript函数基础

  • 2015年06月17日 23:08
  • 123KB
  • 下载

javaScript常用函数使用总结

  • 2013年06月05日 19:48
  • 168KB
  • 下载

JavaScript函数的几种写法

几种常见写法1. 常规写法: 最常规的写法 // 函数的定义 function foo(){ alert('常规写法'); }// 函数的调用 foo()2. 匿名函数写法 给一个变...

javascript时区函数

  • 2013年09月17日 14:53
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript函数
举报原因:
原因补充:

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