学习历程~JS函数的定义与使用

115 阅读2分钟

一、函数的几种定义方式

1、(常用)标准式

fanction demo1(){
    console.log("hello demo1");
}

demo1();

2、使用fanction构造函数定义

var demo2 = new fanction('console.log("hello demo2")');

demo2();

3、(常用)使用表达式方式定义(匿名)

var demo3 = fanction(){
    console.log("hello demo3");
}

demo3();  //与其他不同的是,demo3是变量,值是函数值

4、函数自调用定义(严格来说不属于定义,只是瞬间使用)

(fanction(){
    console.log("hello demo3");
})();  //连定义带调用一次性完成

二、函数中的返回值

如果⼀个函数中有return ,那么这个函数就有返回值

如果⼀个函数中没有return,那么这个函数就没有返回值

如果⼀个函数中没有明确的返回值,那么调⽤的时候接收了,结果就是undefifined

(没有明确返回值:函数中没有return或函数中有return,但是return后⾯没有任何内容)

函数内容执⾏遇到return,则⽴刻执⾏返回,且下⾯的代码是不会被执⾏的

三、变量作用域

1、全局变量

在函数外使⽤var声明的变量就是全局变量,全局变量可以在⻚⾯的任何位置使⽤,即函数外和函数内都可以使用。

2、局部变量

在函数内使⽤var关键字定义的变量是局部变量,即函数内可以使用,函数外⽆法使用。

3、隐式全局变量

无论函数内或者函数外,没有使⽤var声明的变量,就叫隐式全局变量,在函数外可以获取到。

4、变量可否删除(使⽤delete)

全局变量是不能被删除的(使用var进行声明的)
隐式全局变量是可以被删除的(未使用var进行声明的)

四、声明提前

1、举例

console.log(a);  //undefined
var a = 10;
console.log(a);  //10

2、解释

正常运行,不会报错;
var a = 10;————此句实际是两部分:声明+赋值;
在程序执行之前,查找声明的变量,把变量的声明提前到程序顶部集中执行,赋值操作留在原地。