javascript学习笔记之函数定义

   本文主要给大家介绍了javascript的一些函数定义方面的基础知识,包括函数声明式、函数表达式、Function 构造函数等,十分的简单实用,有需要的小伙伴可以参考下。

  函数声明式

  ?

1
2
3
4
5

function funname( 参数 ){
 
  ...执行的代码
 
}

  声明式的函数并不会马上执行,需要我们调用才会执行:funname();

  * 分号是用来分隔可执行JavaScript语句,由于函数声明不是一个可执行语句,所以不以分号结束。

  函数表达式

  ?

1
2
3
4
5

var x = function( 参数 ){
 
  ...执行的代码块
 
};

  函数表达式定义的函数,实际上也是一个匿名函数(这个函数没有名字,直接存储在变量中)

  * 函数表达式结尾是要加分号的,因为它是一个执行语句。

  Function 构造函数

   代码如下:

  var myFunction = new Function( "a" , "b" , "return a * b" );

  调用函数并赋给一个变量:

   代码如下:

  var x = myFunction( 4 , 3 ); // x = 12;

  在实际生产中不推荐使用构造函数来定义函数,以上的例子我们可以改写为:

  代码如下:

  var myFunction = function( a,b ){ return a * b };

  var x = myFunction( 4 , 3 ); // x = 12;

  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-09-21 08:13:21

javascript学习笔记之函数定义的相关文章

javascript学习笔记之函数定义_javascript技巧

函数声明式 function funname( 参数 ){ ...执行的代码 } 声明式的函数并不会马上执行,需要我们调用才会执行:funname();  * 分号是用来分隔可执行JavaScript语句,由于函数声明不是一个可执行语句,所以不以分号结束. 函数表达式 var x = function( 参数 ){ ...执行的代码块 }; 函数表达式定义的函数,实际上也是一个匿名函数(这个函数没有名字,直接存储在变量中)  * 函数表达式结尾是要加分号的,因为它是一个执行语句. Functio

scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归

package yjmyzz import scala.io.StdIn object ScalaApp { def main(args: Array[String]) { println("please input something,press Enter to exit:") //每一行最后加不加分号都可以 readKeyboard //注:无参数的函数调用,加不加括号都行 println(add(1, 2) + "\n------\n") println(d

Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式_基础知识

函数声明 function foo() {} 函数 foo 将会在整个程序执行前被 hoist (提升),因此它在定义 foo 函数的整个 scope (作用域)中都是可用的.即使在函数定义之前调用它也没问题. foo(); // Works because foo was created before this code runs function foo() {} 因为我打算专门写篇介绍作用域的文章,所以这里就不详述了. 函数表达式 对于函数声明,函数的名称是必须的,而对于函数表达式而言则是

Javascript学习笔记之 函数篇(三) : 闭包和引用_基础知识

Javascript 中一个最重要的特性就是闭包的使用.因为闭包的使用,当前作用域总可以访问外部的作用域.因为 Javascript 没有块级作用域,只有函数作用域,所以闭包的使用与函数是紧密相关的. 模拟私有变量 复制代码 代码如下: function Counter(start) {     var count = start;     return {         increment: function() {             count++;         },      

Javascript学习笔记之函数篇(五) : 构造函数_基础知识

Javascript 中的构造函数与其他语言相比也是不同的.任何通过关键字 new 调用的函数都可以当做构造函数. 在构造函数体内,this 指向新创建的对象.如果构造函数体内没有显示的 return 表达式,那么我们就默认返回 this,也就是新建的对象. 复制代码 代码如下: function Foo() {     this.bla = 1; } Foo.prototype.test = function() {     console.log(this.bla); }; var test

Javascript学习笔记之函数篇(六) : 作用域与命名空间_基础知识

在之前的介绍中,我们已经知道 Javascript 没有块级作用,只有函数级作用域. 复制代码 代码如下: function test() { // a scope     for(var i = 0; i < 10; i++) { // not a scope         // count     }     console.log(i); // 10 } Javascript 中也没有显示的命名空间,这就意味着一切都定义在全局作用域中.每一次引用一个变量时,Javascript 会往上遍

Javascript学习笔记之 函数篇(二) : this 的工作机制_基础知识

全局作用域下 this; 当在全局作用域中使用 this,它指向全局对象. 这里详细介绍下全局对象: 全局对象(Global object) 是在进入任何执行上下文之前就已经创建了的对象: 这个对象只存在一份,它的属性在程序中任何地方都可以访问,全局对象的生命周期终止于程序退出那一刻. 全局对象初始创建阶段将 Math.String.Date.parseInt 作为自身属性,等属性初始化,同样也可以有额外创建的其它对象作为属性(其可以指向到全局对象自身).例如,在 DOM 中,全局对象的 win

Javascript学习笔记2 函数_基础知识

就像我们可以写成这样的形式一样: 复制代码 代码如下: function Hello() { alert("Hello"); } Hello(); var Hello = function () { alert("Hello"); } Hello(); 其实都是一样的. 但是当我们对其中的函数进行修改时,会发现很奇怪的问题. 复制代码 代码如下: <script type="text/javascript"> function Hel

Javascript学习笔记之函数篇(四):arguments 对象_基础知识

每一个 Javascript 函数都能在自己作用域内访问一个特殊的变量 - arguments.这个变量含有一个传递给函数的所有参数的列表. arguments 对象不是一个数组.尽管在语法上它跟数组有相同的地方,例如它拥有 length 属性.但它并不是从 Array.prototype 继承而来,实际上,它就是一个对象. 因此,我们不能直接对 arguments 使用一些数组的方法,例如 push, pop 或 slice 等. 所以为了使用这些方法,我们就需要将其转换为一个真正的数组. 转