• js入门之函数


    一、 函数 

    函数可以封装一段特定功能的代码,然后通过函数名可以重复调用

    1 .函数的定义

    funcation 函数名 (){
    函数体
    }
    函数名()  调用函数

    2. 函数的参数

    funcation fun (形参1,形参2...) {
        函数声明
    }
    fun(实参1, 实参2...)

    在函数内部修改形参的值,不会影响外部的实参的值

    素数 (只能被1和自身整除的数)

    3. 函数返回值 return

    当函数中不写return的时候 返回的值是undefined
    写了return后面没跟具体值也是返回undefined

    4. arguments

    通过arguments可以获取函数调用的时候的实参, (实参个数不确定的时候)

    function getMax() {
        var max = arguments[0];
        for (var i = 0; i<arguments.length; i++) {
            if (max < arguments[i]) {
                max = arguments[i];
            }
        }
        return max;
    }
    var retult = getMax(23,53,22,35,222,33,553);
    console.log(retult);

    求斐波那契数列中的第n个数是多少?

    function getFib(n) {
                var n1 =1;
                var n2 =1;
                var n3;
                for (var i = 3; i<=n; i++) {
                    n3 = n1 + n2;
                    n1 = n2;
                    n2 = n3;
                }
                return n3;
            }
            var num = getFib(6);
            console.log(num);
    View Code

    二、匿名函数

    1. 匿名函数声明

    1. 函数声明 -命令函数
    function fn() {
    }
    
    2. 函数表达式 - 匿名函数
    var fn = function () {
    }

    2. 用法

    1. 将匿名函数赋值给一个变量, 这样就可以通过变量进行调用
    2. 匿名函数自调用
        自调用函数: 当函数书写完成之后立即调用
        (function () {
                console.log('我是自调用函数')
            })()
    
    3. 函数也是一种数据类型 
    var fn = function() {
        console.log('我是传过来的函数')
    }
    
    function test(fun) {
        fun();
    }
    test(fn);
    3.1 因为函数是一种数据类型所以可以作为另一个函数的参数 3.2 因为函数是一种数据类型, 所以函数可作为另一个函数的返回值 function test(a) { var b =5; return function () { console.log(a + b); } } var fn = test(2); fn();

    代码规范:

    1. 命名规则
         变量、函数的命名必须有意义
         变量的名称一般用名词
         函数的名称一般用动词
    2. 变量规范
        操作符的前后要有空格
    3. 注释规范
        // 这里是注释
    4. 空格规范
        if 和for 小括号前后都要有空格, 分号后面也要有一个空格
    5. 换行规范
        花括号起始的要跟定义的在一行

    三、 作用域

    变量或者函数可以起作用的访问
    
     全局作用域: 在script 标签中 或者一个独立的js文件中,在任何位置都可以访问
     局部作用域: 任何一个函数的内部都有一个局部作用域,在局部作用域中定义的变量叫局部变量,只能在该定义的函数中才能访问
     块级作用域: 在ECAMScript中没有块级作用域
         代码块{
         代码块可以单独存在
     }
    
    
    局部变量: 当这个函数执行完之后 内存会被回收
    全局变量: 只有当关闭浏览器的时候 才会被回收
    
    作用域链:
    // 全局作用域-- 0级作用域链
    var num = 5;
    function f1() {
        // f1 局部作用域 -- 1级作用域
        var num = 15;
        function f2() {
            // f2 局部作用域 -- 2级作用域链
            console.log(num);
        }
        f2()
    }
    f1()

    四、预解析

    1. 变量提升,把变量声明提升到当前作用域的最上面,不包括变量的赋值
    2. 函数提升,把函数声明提升到当前作用域最上面,不包括函数调用
    在预解析的过程中如果函数的变量的名字相同,此时函数优先
  • 相关阅读:
    python 数据类型 转换
    python 爬虫简单优化
    三种方式简单爬取图片
    爬虫简单入门:第一个简单爬虫
    python 数据结构 容器(字典,列表,元组,集合)
    蓝桥杯带分数(难)
    有几个水洼(DFS)
    蓝桥杯横向打印二叉树(不会,好难啊)
    输入不确定数量的数字
    闰年
  • 原文地址:https://www.cnblogs.com/guniang/p/11984670.html
Copyright © 2020-2023  润新知