JavaScript函数function初步理解

函数function

1.函数的语法

function name(param){ // name表示函数名(与变量的命名规则相同)
            // param表示形参
            // 函数体语句
        }
        name(x);// 调用函数其中x表示要被传入的实参

2.理解参数

  • 形参 :在函数定义时可以再括号里面写入形参方便调用时接收实参的值,可以写多个形参就算最好不调用那么多系统也不会报错,可以通过arguments对象来访问这些参数;
  • 实参 :在调用函数后面的括号中传入实参,可以传入多个实参或者不传实参这样浏览器也会包容你的小错误,但是尽量规范书写这样才能是函数更好的运行;
  • 有些时候可以无需指定函数的返回值,因为ECMAScript函数会在任何时候返回任何值,需要注意的是未指定任何返回值的函数会返回特殊的undefined值;

3.构造函数

构造函数就是将函数连接 起来构成函数

function fn() {
   return alert(2 + 2);
};
fn();
var fnn = new Function("return alert(2 + 2)");// 构造函数
fnn();

4.匿名函数

匿名函数可以让它自执行或者赋值给变量然后执行。

(function(){
   alert("我咋这么聪明!");
})();// 自执行函数
var a = function(){
   alert("我咋这么聪明");
};
a();// 将匿名函数赋给变量然后执行

5.函数没有重载

js中函数不能够重载,就是说取相同的函数名,后面的函数将会把前面的函数覆盖

6.函数的内置对象及属性

  • this对象:指的是函数当前执行的目标对象。如果在全局作用下使用this则,this对象引用的就是window。可以使用call、apply和bind来改变this的指向。
  • arguments对象:是一个类数组对象,包含着传入函数的所有参数。它有一个callee属性,该属性是一个指针,指向拥有这个arguments对象的函数,常用于阶乘函数。
  • prototype原型:是保存函数所有实例方法的真正所在。
  • length属性:可以表示函数参数的长度

7.call、apply和bind方法

  • call()方法:可以接受两个数值,第一个表示运行函数的作用域,第二个是参数对象== 传递给函数的参数必须逐个列举出来。==
  • apply()方法:可以接受两个数值,第一个表示运行函数的作用域,第二个是数组对象
  • bind()方法:不同于上面两个方法,bind()方法有返回值(由指定的this值和初始化参数改造的原函数拷贝)需要将它先付给变量然后在调用;

猜你喜欢

转载自blog.csdn.net/IO14122/article/details/108429292
今日推荐