zoukankan      html  css  js  c++  java
  • 2、函数 面向对象

    3.2、函数
    <script>
    // 普通函数
    function func() {
    alert("Hello Shuaige")
    }

    // 定义一个可传参数的函数
    function func(arg) {
    alert(arg)
    }
    func('Superman')

    // 自执行函数,顾名思义,定义好之后可以自动执行
    (function f3(arg) {alert(arg)})("Shuaige is good man");


    // 匿名函数,用处不是很大 了解就行
    var a = function() {
    alert('meinv');
    };
    a();

    </
    script>

    注意: 对于JavaScript中函数参数实际参数 的个数可能 小于形式参数的个数,函数内的特殊值arguments中封装了所有实际参数


    2、作用域

    JavaScript中每个函数都有自己的作用域,当出现函数嵌套时,就出现了作用域链。当内层函数使用变量时,会根据作用域链从内到外一层层的循环,如果不存在,则异常。

    切记:所有的作用域在创建函数且未执行时候就已经存在。


    更多:http://www.cnblogs.com/wupeiqi/p/5649402.html   【这个好,得看】

    代码展示: 
    function f2(){ var arg= [11,22]; function f3(){ console.log(arg); } arg = [44,55]; return f3; } ret = f2(); ret();

    注:声明提前,在JavaScript引擎“预编译”时进行。




    3、闭包

        「闭包」,是指拥有多个变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

    闭包是个函数,而它「记住了周围发生了什么」表现由「一个函数」体中定义了「另个函数」。

    由于作用域链只能从内向外找,默认外部无法获取函数内部变量闭包,在外部获取函数内部的变量


    function f2(){
    var arg= [11,22];
    function f3(){
    return arg;
    }
    return f3;
    }

    ret = f2();
    ret();

    </script>

















    GitHub:https://github.com/ju-do-it
    个人博客:https://zhangju.lookdoc.cn
    博客园:https://www.cnblogs.com/zhangju
    Copyright ©2020 Ju-do-it
    【转载文章务必保留出处和署名,谢谢!】
  • 相关阅读:
    sql把字符数组转换成表 :把字符串1,2,3变成表里的行数据
    Excel中如何把时间转化成文本
    网页前段常用代码及网页自适应
    sql存储过程几个简单例子(一)
    Web调用安卓,苹果手机摄像头,本地图片和文件
    JQuery-方法
    JQuery-选择器
    AJAX-JSON
    Ajax-验证码
    DOM-XML(解析与创建)
  • 原文地址:https://www.cnblogs.com/zhangju/p/5789813.html
Copyright © 2011-2022 走看看