zoukankan      html  css  js  c++  java
  • JS——函数

    一、函数的种类

    1.无参函数

    function showName() {
    alert("我是无参函数");
    }

    2.有参函数 在函数中的参数为“形式参数”

    形式参数:定义函数时指定的参数,具体数据是由实际参数决定
    实际参数:调用函数的时候指定的参数,实参的值会影响形式参数*/
    function showName(name) {
    alert(name);
    }

    二、函数的调用方式

    1.直接调用

    function showName(name) {
    alert(name);
    }
    showName();

    2:函数调用一般和元素的事件一起使用,调用格式(和元素事件绑定)

    事件名=“函数名()”
    onclick="showName('A')"

    三、匿名函数

    匿名函数用变量接收。变量名称+()可以让函数执行
    var show = function () {
    alert("1111");
    };
    show();
     

    匿名函数的自调用

    方法一
    (function () {
    alert("我是匿名函数!")
    })();
    方法二
    (function () {
    alert("我是匿名函数!")
    }());
    方法三
    !function () {
    alert("我是匿名函数!")
    }();

    四、return关键字

    给主调函数返回一个被调函数的计算结果。
    function calc(num1,c,num2) {
    switch (c){
    case '+' :
    var result = num1 + num2 ;
    break;
    case '-' :
    var result = num1 - num2 ;
    break;
    case '*' :
    var result = num1 * num2 ;
    break;
    case '/' :
    var result = num1 / num2 ;
    break;
    }
    return result;
    /*alert(result);*/
    }
    var r = calc(parseInt(prompt("请输入第一个数:")),prompt("请输入四则运算符:"), parseInt(prompt("请输入第二个数:")));
    alert(r);

    五、实参不确定的情况

    1、在实参个数不确定的情况下,可以省略形参,在函数体内部使用arguments
    argument是一个数组,里面包含了函数调用的所有实参!
    function show() {
    alert(arguments[0]);
    }
    show("aaa");
    2、arguments.callee属性
    arguments.callee属性指向函数本身,可以用于递归
    function show() {
    console.log(arguments.callee);
    }
    show("aab");
    3.arguments的this属性
    var zhangsan ={
    name: "zhangsan",
    age: "28",
    height: "189",
    say:function () {
    alert(zhangsan.name);
    /*按f12看console属性*/
    console.log(this);
    },
    eat:function () {
    alert("汉堡包!");
    },
    }
    zhangsan.say();

    六、变量作用域

    全局变量

    1.写在函数前面的变量
    2.没用var修饰的变量
    没用var修饰的变量,会一层一层的往上找,如果找到同名变量,就进行赋值,或覆盖原有值
    如果到最后都没有找到同名变量,就声明一个同名全局变量。

    局部变量

    定义在函数内部的变量。
    代码举例:
    var num = 10;
    function calc1() {
    num = 5;
    alert(num + 15);
    }
    function calc2() {
    alert(num + 20);
    }
    calc1();
    calc2();
     
  • 相关阅读:
    .net core webapi +ddd(领域驱动)+nlog配置+swagger配置 学习笔记(2)
    .net core webapi +ddd(领域驱动)+nlog配置+swagger配置 学习笔记(1)
    css规范
    eclipse for python
    CentOs时间不同步问题
    SecureCRT怎么将本级文件上传到CentOS
    tcp客户端程序开发
    C++STL小结
    食用指北
    Hello, world!
  • 原文地址:https://www.cnblogs.com/ytsbk/p/7296612.html
Copyright © 2011-2022 走看看