函数初识

什么是js函数

一般来说,一个函数是可以通过外部代码调用的一个“子程序”(或在递归的情况下由内部函数调用)。像程序本身一样,一个函数由称为函数体的一系列语句组成。值可以传递给一个函数,函数将返回一个值。

在 JavaScript中,函数是头等(first-class)对象,因为它们可以像任何其他对象一样具有属性和方法。它们与其他对象的区别在于函数可以被调用。简而言之,它们是Function对象。

总结:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

特性:

在JavaScript中,每个函数其实都是一个Function对象。

如果一个函数中没有使用return语句,则它默认返回undefined。要想返回一个特定的值,则函数必须使用 return 语句来指定一个要返回的值。(使用new关键字调用一个构造函数除外)。

调用函数时,传递给函数的值被称为函数的实参(值传递),对应位置的函数参数名叫作形参。如果实参是一个包含原始值(数字,字符串,布尔值)的变量,则就算函数在内部改变了对应形参的值,返回后,该实参变量的值也不会改变。如果实参是一个对象引用,则对应形参会和该实参指向同一个对象。假如函数在内部改变了对应形参的值,返回后,实参指向的对象的值也会改变:

/* 定义函数 myFunc */

 function myFunc(theObject) {

   //实参 mycar 和形参 theObject 指向同一个对象.

   theObject.brand = "Toyota";

 }

 /*

  * 定义变量 mycar;

  * 创建并初始化一个对象;

  * 将对象的引用赋值给变量 mycar

  */

 var mycar = {

     brand: "Honda",

     model: "Accord",

     year: 1998

 };

 /* 弹出 'Honda' */

 window.alert(mycar.brand);

 /* 将对象引用传给函数 */

 myFunc(mycar);

 /*

  * 弹出 'Toyota',对象的属性已被修改.

  */

 console.log(mycar.brand);

 

在函数执行时,this 关键字并不会指向正在运行的函数本身,而是指向调用该函数的对象。

所以,如果你想在函数内部获取函数自身的引用,只能使用函数名或者使用arguments.callee属性(严格模式下不可用),如果该函数是一个匿名函数,则你只能使用后者。

 

函数要素:

  function  声明  定义一个函数,会让函数置顶
  return  返回值  函数本身的值,如果没有return,函数本身值就是undefined,返回值;
    结束函数执行,他之后的代码都不执行,除了var,function 声明置顶;
    还书的名字,一般要有,没有就是匿名函数,函数的调用,函数名();这也是函数的返回值
    函数的参数,形参,占位符  调用函数的时候传入的数据,才是真正的值,也就是实参;
posted @ 2021-07-26 21:01  小黄耗子  阅读(51)  评论(0编辑  收藏  举报