zoukankan      html  css  js  c++  java
  • 一.js高级(4)-函数调用-this指向-其他参数

    四: 函数

    1. 函数定义方式: 函数声明 函数表达式 new Function  var fn = new Function('a', 'b', 'console.log(a+b)' );     fn(3,4) ; //5
    2. 函数声明和函数表达式的区别:

        a.函数表达式相当于给变量赋值, 预解析中只有函数名提前

        b.函数声明 整个函数都会提升,声明前后都可以调用

        c.使用函数表达式解决 if判断中函数的提升造成的错乱

            var f:

                                If(true){

                                         f = function(){};

            }else {

                     f=function(){};

            }

      3. 函数的不同调用方式种this的指向:

    调用方式

    This指向

    普通函数

    Window

    构造函数

    Window/实例对象

    对象方法调用

    所属对象

    事件绑定

    绑定事件对象

    定时器

    Window

            三种改变函数中this指向的方法:

    Call’

     fn.call(this, name,age)

     立即调用

    Apply    

    fn.apply(this,[name,age])    

    立即调用

    Bind

    Var newFn = fn.bind(this, age,name)

     不调用,返回新函数

      4.  函数的其他成员

        Function fn(a,b,c){
        console.log(fn.length);  --形参个数

        Console.log(arguments.callee); -- fn本身

        Console.log(fn.caller); --调用者

        Console.log(fn.arguments); --实参合集

        Console.log(fn,name); --函数名

      }

        fn(10, “zs”, 30);

  • 相关阅读:
    django LDAP
    Python egg
    皮皮书屋
    Linux运维
    bash shell 快捷键汇总
    linux ldconfig
    Linux set env export declare unset
    OpenStack
    【LeetCode】258. Add Digits
    一个"Median Maintenance"问题
  • 原文地址:https://www.cnblogs.com/noraZhang/p/10108357.html
Copyright © 2011-2022 走看看