js基本函数总结

本文详细介绍了JavaScript中的函数定义,包括函数声明、自定义函数和构造器方式。深入讨论了函数提升的概念,解释了变量和函数提升的区别,并提供了多个案例。接着,文章讲解了函数的多种调用方式,如直接调用、事件中调用、对象方式、构造函数调用等。还特别提到了箭头函数及其this指向问题,以及toString()、call()、apply()和bind()等函数方法的应用。
摘要由CSDN通过智能技术生成


函数里面的数据都是局部变量,执行完会自动销毁

1. 函数定义

js函数是通过function关键字定义的

2. 函数声明

被声明的函数不会立即执行,它们被“保存以供后来使用”

2.1 自定义函数

 function sum(a,b){
   
        //函数体
        return a + b;
    }

2.2 函数表达式

var x = function fnname(a,b){
   
	return a + b
}
//function后面可以加函数的名字,但是这个名字只能在函数内部使用

2.3 构造器方式

var a = new Function();

3. 函数提升(变量提升)

3.1 什么是提升?

简单的说就是js代码在执行前,引擎会先进行预编译,预编译期间会把变量声明和函数声明提升到其对应作用域的顶端

3.2 变量提升

全局作用域中声明的变量会提升至全局的最高层
函数内声明的变量会提升至函数的最顶层
注意:只提升声明,不会提升变量

//提升前
conole.log(a);
var a = 10;
//提升后
var a;
console.log(a);
a = 10;
//输出:10

3.3 函数提升

直接上图理解
注意:函数提升>变量提升
只提升声明,不提升变量

3.3.1 案例1

var a = true;
foo();
function foo(){
   
	if(a){
   
		var a = 10;
	}
	console.log(a);
}

//提升后
  function foo(){
   
        if(a){
   
            a = 10;
        }
        console.log(a);//undefined
    }
    var a;
    a = true;
    foo();

3.3.2 案例2

 //提升前
    var a = true;
    foo();
    var foo = function () {
   
        if (a) {
   
            var a = 10;
        }
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值