zoukankan      html  css  js  c++  java
  • JS 函数基础

    函数简介

    函数
    函数也是一个对象
    函数中可以封装一些功能(代码),在需要时可以指向这些功能(代码)
    函数中可以保存一些代码在需要时调用
    使用typeof检查一个函数对象时,会返回function
    创建一个函数对象,我们在开发中很少使用构造函数来创建一个函数对象
    可以将要分装代码以字符串的形式传递给构造函数
    封装到函数中的代码不会立刻执行函数中的代码会在调用时执行
    调用函数语法:函数对象()
    当调用时,函数中封装的代码会按照顺序执行
    函数对象具有所有普通对象的功能但是比普通对象更加强大

    var fun = new Function("console.log('这是我第一个函数');");
    fun.hello = "你好";
    console.log(fun.hello)
    fun();

    使用 函数声明来创建一个函数
    语法:
    function 函数名([形参1,形参2,形参3....形参n]){
    语句...
    }

    function fun2(){
    console.log("这是我的第二个代码")
    }
    console.log(fun2)
    fun2()

    使用一个函数表达式来创建一个函数

    语法
    var 函数名 = function(){
    语句...
    }

    var fun3 = function(){
    console.log("这是我的第二个代码")
    };
    fun3()

    函数的参数

    定义一个用来求两个数的和的函数
    可以在函数的()中指定一个或者多个形参(形式参数)
    多个形参之间使用,号隔开声名形参就行相当于在函数内部声名了对应的变量
    但是并不赋值,在调用函数时可以在()中指定实参(实际参数),实参将会赋值给函数中的对应的形参
    调用函数时解析器不会检查实参的类型,也不会检查实参的数量如果实参的是数量少于形参的数量,则没有对应的形参将是undefined

    function fun4(a,b){
    console.log(a+b);
    }
    fun4(5,5)
    fun4(5,"吃了没")
    fun4(5,true)
    fun4(0,0,6666)

    函数的返回值

    创建一个函数,用来计算三个数的和,可以使用return来设置函数的返回值 语法:
    return 值;
    return后的值可以作为函数执行结果返回,return后的语句全部都不会执行
    我们可以定义一个变量,来接收该结果
    如果return后不跟任何值就会返回undefined

    function sum(a,b,c){
    d = a + b + c;
    return d;
    alert(555);
    }
    var result = sum(1,2,3);
    console.log(result)

    实参可以使任何值
    定义一个函数,判断数字是否是偶数,如果是就返回true,否则就返回false

    function oushu(a){
    return a%2 == 0;
    }
    
    console.log(oushu(9));

     定义一个函数,可以根据半径计算一个圆的面积,并返回计算结果

    3.14*r*r

    function mj(r){
    return 3.14*r*r;
    }
    console.log(mj(10));

    创建一个函数,可以在控制台中输出一个人的信息
    可以输出的name age gender address
    实参可以使任意数据类型也可以是一个对象
    实参可以是任意的数据类型,也可以是一个对象
    当我们参数过多时,可以将参数封装到一个对象中,然后通过对象传递

    function xinxi(o){
    console.log("我是"+o.name+"今年我"+o.age+"我是一个"+o.gender+"人"+"我住在"+o.address)
    }
    
    var sun = {}
    sun.name="悟空";
    sun.age=18;
    sun.gender="男";
    sun.address="花果山";    
    var obj = {
    name:"孙悟空",
    age:18,
    gender:"男",
    address:"花果山"
    }    
    xinxi(sun)

    实参可以是一个对象,也可以是一个函数

    function sayhello(o){
    console.log("我是"+o.name+"今年我"+o.age+"我是一个"+o.gender+"人"+"我住在"+o.address)
    console.log(555)
    }
    var obj = {
    name:"孙悟空",
    age:18,
    gender:"男",
    address:"花果山"
    }
    sayhello(obj)
    function fun(a){
    console.log("a= "+a)
    a(obj)
    
    }
    fun(sayhello)

    另一种写法同上

    function fun(a){
    console.log("a= "+a)
    }
    fun(function(){alert(5555)});
    fun(function(){alert(5555)}());

    函数返回值

    mj()

    调用函数
    相当于使用函数的返回值
    mj
    是函数对象
    相当于使用的函数对象

    function mj(r){
    return 3.14*r*r;
    }
    //    console.log(mj(10));
    function fun(a){
    console.log("a= "+a)
    }
    fun(mj(10));

    break,continue,return 在函数和for中之间的关系

    function fun() {    
    console.log("开始")    
    for (var i=0; i<=5; i++) {    
    if (i==2) {
    使用break;可以退出当前循环
    break;
    
    使用continue;可以跳过当次循环
    continue;
    
    使用return;可以结束整个函数循环
    return;
    }
    console.log(i)
    }
    console.log("结束")
    }
    fun()

    返回值可以是任意的数据类型
    也可以是个对象

    function fun1(){
    var a={
    name:"张三"
    };
    return a;
    }
    console.log(fun1())

    也可以是函数

    function fun(){
    function fun2(){
    console.log(5555)
    }
    return fun2;
    }
    console.log(fun())
    fun()()

     

    立即执行函数

    立刻执行函数语法

    (function(a) {
    console.log(a);
    })(99)

    方法

    创建一个对象,向对象中添加属性属性可以任何数据类型,对象属性也可以是一个函数

    函数也可以成为对象的属性 当函数变成对象的属性之后还有另一个名字

    如果一个函数作为一个对象的属性保存,那么我们称这个函数是这个对象的方法,调用函数就是调用对象的方法(method)但是只是名称上面的区别

    var a={
    name:"张三",
    hanshu:function obj(){console.log(888);}
    };
    a.hanshu1 = function obj(){console.log(999);};    
    console.log(a.hanshu)
    a.hanshu1()
  • 相关阅读:
    IOS AFN (第三方请求)
    IOS ASI (第三方请求)
    OC Copy and MutableCopy的使用
    OC NSMutableArray
    OC NSArray使用
    OC NSMutableString的使用
    OC 指向指针的指针
    OC Nsstring的使用
    Code First :使用Entity. Framework编程(4) ----转发 收藏
    Code First :使用Entity. Framework编程(3) ----转发 收藏
  • 原文地址:https://www.cnblogs.com/niuyaomin/p/11967866.html
Copyright © 2011-2022 走看看