日期:2014-05-16  浏览次数:20500 次

javascript函数概述和定义

在学习JavaScript之前,需要下载editplus,它是一个轻量又强大的软件。

 

为什么要学习javascript?

无论今后打算Java、PHP、NET,只要从事B/S开发,JavaScript都是必须的。

学号JavaScript是非常重要的。所有的程序员,很少有人专门做JavaScript,某种程度上,他有点难等大雅之堂,但他又是必需的。尽管你的功能非常强大了,但没有一个好的页面,在普通人看来,也是不行的。

 

首先 Java与JavaScript的关系?答案是没有关系。

变量定义、流程控制、运算符在这里不讲了,他是非常基础的东西。

 

直接从JavaScript的函数开始

  JavaScript并不是面向对象的,JS的函数有点像Java的方法,但并不一样。

 

下面进入函数的定义:

打开EdiltPlus:在新建中选择HTML网页,点击工具中的脚本,写出两种定义函数的方法:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>

 <body>
  <script type="text/javascript">
  <!--
	第一种定义函数的方法
  -->
  function test(a1,a2) <!-- 由于javascript是弱语言类型,直接写参数即可 -->
  {
	  return a1+a2;
  }

  <!-- 第二种定义函数的方法 -->
  function(a1,a2)
  {
	  return a1+a2;
   }

  </script>
 </body>
</html>

高手都采用第二种函数定义的方法,叫做匿名函数,但怎么才能调用它呢?

很简单:

 var Toplus = function(a1,a2)
  {
	  return a1+a2;
   };

把它赋给一个变量即可,由此我们可以想一想

 java里,类是一等公民,类就是可以存在独立存在的程序单元。

在JavaScript里,函数是一等公民,函数是可以独立存在的程序单元。

也就是说,function()定义的其实是一个对象,为了验证JavaScript中函数是一个对象我们可以这样:

<body>
  <script type="text/javascript">
  <!--第一种定义函数的方法-->
  function test(a1,a2) <!-- 由于javascript是弱语言类型,直接写参数即可 -->
  {
	  return a1+a2;
  }

  <!-- 第二种定义函数的方法 -->
  var Toplus = function(a1,a2)
  {
	  return a1+a2;
   };
  alert(Toplus instanceof Object);
  </script>
 </body>


运行后:

验证成功,如果在加一个alert,也会弹出true对话框:

 //只要一个变量引用的是对象,它就是Object
  alert(Toplus instanceof Object);
  //只要一个变量引用的是函数对象,它就是Function对象
  alert(Toplus instanceof Function);


我们再举一个例子:

var a=5;
alert(a instanceof Object);

运行后会弹出false,因为a是一个基本的数据类型,并不是一个对象。

 

我们介绍第三种定义函数的方法,运用Function构造器:

var fun1 = new Function("a","b","c","return a*b*c;");
  alert(fun1(2,3,4));

结果会输出24,但这种方法用的较少,。