js学习之函数


一、JS声明函数的三种方式:

1、// 函数声明(function declaration) 赋值发生在代码解析阶段
function h() {
    // h
}

2、// 函数表达式(function expression) 赋值发生在代码运行阶段, :函数表达式需要在语句的结尾加上分号,表示语句结束。而声明式定义函数在结尾的大括号后面不用加分号:
var h = function() {
     // h
}

3、使用Function构造函数 ,不建议这种方式

var add2=new Function();调用 :add2()

二、函数特点

1、函数提升优先级比变量提升要高,且不会被变量声明覆盖,但是会被变量赋值覆盖。

2、在函数中,参数是局部变量

3、在函数中 return 语句可以让函数提前返回。return 被执行时,函数会立即返回。
一个函数总会返回一个值,如果没有指定这个值,它就会返回 undefined

三、立即执行的函数的几种写法
    1、
    (function () {
        alert(1);
    })();

扫描二维码关注公众号,回复: 7001185 查看本文章

    2、
    (function () {
         alert(2);
     }());

    3、
    ! function () {
        alert(3);
    }();

四、函数中this的指向


    var aa = {
         name:"xz",
         age:20,
         run:function(){
               console.log(this);
          }
    }
    aa.run(); //this指向aa对象

     注释:当一个函数被保存为对象的一个属性时,就称它为方法。当方法被调用时,this 被绑定到这个对象。

    function bb(){
         console.log(this);
    }
    bb(); //this指向window对象

     构造函数调用模式 :new 函数名();
     this:指向new出来的对象


五、函数参数 arguments

当函数被调用时,会有一个 arguments 数组。arguments 不是一个真正的数组,它只是一个类数组的对象,它拥有 length 属性,但没有数组的相关方法。

猜你喜欢

转载自www.cnblogs.com/zjz666/p/11333209.html