【JS基础】函数、方法、作用域

函数

函数也是一个对象。函数中封装一些功能,在需要时可以执行这些功能(代码)。
在这里插入图片描述
函数具有所有对象具有的功能,而且里面还可以封装代码。

在实际开发中,基本不用构造函数方法创建函数,一般使用函数声明

function 函数名([形参1, 形参2]){
	语句;
}

还有函数表达式创建函数的方法。

ver fun = function([形参1, 形参2]){
	语句;
};

调用函数时,解析器不会检查实参的数量。

可以使用return来返回返回值,可以返回任意类型的值。
在这里插入图片描述
fun(fun2()):调用函数,相当于返回值。
fun(fun2):函数对象,相当于直接使用函数对象。

立即执行函数:
在这里插入图片描述

方法

对象的属性值可以是任意的数据类型,也可以是个函数。

当函数变成对象的属性时,它也可以被称为方法(method)。这个函数为这个对象的方法。调用函数等于调用这个函数的方法。

只是名称上的不同,其他没有区别。

for in语句,对象里面有几个属性就执行几次:
在这里插入图片描述

作用域

全局作用域,直接写在script标签中的js代码,都在全局作用域。在页面打开时创建,在页面关闭时销毁。在页面的任意位置都可以访问到。

在全局作用域中,有一个全局对象window,我们可以直接使用。代表浏览器的窗口,由浏览器创建。

在全局变量中,创建的变量都会作为window的属性保存。全局里面的函数,都会作为window的方法保存。

变量的声明提前,我们使用var变量声明的变量,会在所有代码执行之前被声明,但是没有被赋值。

函数的声明提前,function 函数名(){}声明的函数,会在所有代码执行之前,就被创建。在函数被声明前就可以被调用。
而var 变量 = function{}虽然可以提前被声明,但是不会被赋值。

函数作用域

在函数中可以访问到全局的变量,但在全局中访问不了函数中的变量。

当在函数作用域中操作一个变量时,会现在自身作用域中寻找,如果有就直接使用,如果没有,在上一级中寻找(不一定直接是全局)。
如果想在函数中直接找全局变量,使用window对象

在函数作用域中,也有声明提前的规则。

在函数内声明的未加var的变量,都会直接变成全局变量!,即相当于window.
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cheerio_inf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值