JS函数的定义及调用

js函数的定义与调用

1、 函数的定义

三种方式:
①函数定义(简单讲就是使用function关键字开头定义),如下:

<body>
    <button onclick="sum(2,3)">点击求和</button>
</body>
<script>
    //函数定义
    function sum(a,b){
        console.log(a,b);
        return("你的和值为:"+a+b);
    };
</script>

结果:结果控制台输出2,3
②函数表达式(函数字面量,简单讲就是用一个变量将函数存起来),如下图:


    // 函数字面量
   var fun = function(a,b){
        return a+b;
    };

重点:

两者的区别:解析器会读取函数声明,并使其在执行任何代码之前可以访问;而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行。

③函数构造法(简单讲就是使用new关键字创建)


    // 函数构造法
    var fun = new Function("a",'b','return a+b');
        console.log(fun(3,6));//9
    

注意:Function大写开头,参数必须带引号(单双没关系,返回值也带引号)

2、函数的调用

①直接调用


    var fun = function(){
        alert(fun);//窗口弹出整个函数
    };
    fun();

②方法调用模式
当函数赋值给对象之后,函数不该称为函数,我们称之为为方法


    var sum = function(){
        alert("方法调用模式哦")
    }
    var stu ={};
    stu.one = sum;
    //调用
    stu.one();//窗口输出alert语句内容

③构造器调用函数

 //定义构造函数
    var Num = function(){
        this.name = "jane";
        this.say = function(){
            alert("这是构造器方法调用函数")
        };
    };
    //调用构造器,创建对象
    var n = new Num();
    //使用对象
    n.say();

注解:
在单纯的函数模式下,this 表示 window;在对象方法模式下,this 指的是当前对象

代码解读:
上面的案例首先创建一个构造函数Person,然后使用构造函数创建对象n。使用 new 语法;然后在使用对象调用say()方法,从案例可以看此时 this 指的是对象本身。除了上面简单的使用以外,函数作为构造器还有几个变化,分别为:
1、所有需要由对象使用的属性,必须使用 this 引导;

2、函数的 return 语句意义被改写,如果返回非对象,就返回this。

④apply调用模式

**语法:**函数引用.apply(调用者,[参数1,参数2,…])

<script>
	var A=function(a,b)
	{
		alert("a的值是:"+a+",b的值是:"+b);
	}
	A.apply(window,[1,2]);//以window为调用对象,
	//1、2为传入参数,调用A函数
</script>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值