函数进阶

1.函数,一段JS代码,它只定义一次,但可以被执行或调用任意次。

函数定义构成:函数名称标识符,一对圆括号,一对花括号。
function函数名(){}

(1)js函数是参数化的:函数定义时会包含一个形参,是局部变量;

(2)函数调用会为形参提供实参的值;

(3)函数使用实参的值来计算返回值,成为该函数调用表达式的值;

(4)除实参外,每次调用还会拥有另一个值(本次调用的上下文),这就是this关键字的值;

(5)函数如果挂载在一个对象上,作为对象的属性,称它为对象的方法,当通过这个对象来调用函数时,该对象就是此次调用的上下文,也就是该函数的this值;

(6)用于初始化一个新创建的对象的函数是构造函数;

(7)函数即对象,程序可以随意操控;

(8)函数可以嵌套在其他函数中定义,从而可以访问他们被定义时所处的作用域中的任何变量,如此,函数构成了一个闭包(closure)(只要是个函数就有闭包,因为函数外面也有全局作用域)。

函数定义方式
在这里插入图片描述
在这里插入图片描述
2.this
在这里插入图片描述
3.改变函数内this的指向 js提供了三种方法 call(),apply(),bind().
1.apply()在这里插入图片描述
2.call()
在这里插入图片描述
3.bind()
在这里插入图片描述
在这里插入图片描述

4.函数闭包
变量作用域分为全局作用域和局部作用域,函数内部可以使用全局变量,函数外部不能使用局部变量,当函数执行完毕,这个函数作用域的局部变量会被销毁。,而用闭包就可以实现局部变量的调用
在这里插入图片描述
//10
**5.函数命名:
**通常是动词或以动词为前缀的词组,第一个字符小写,如果函数名包含多个单词时,第一种用_分隔开,第二种是驼峰命名;有一些函数是用作内部函数或私有函数(不作为公用API的一部分)时,通常在前面加_;
6.箭头函数:让代码变得简洁;
使用ES6箭头函数语法定义函数,将原函数的“function”关键字和函数名都删掉,并使用“=>”连接参数列表和函数体。
当函数参数只有一个,括号可以省略;但是没有参数时,括号不可以省略。
当函数体只有一句时,花括号可以省略;
箭头函数没有arguments和this,支持剩余参数;
在这里插入图片描述
在这里插入图片描述
//两个都指向了obj,输出为{name:‘zhangsan’}
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值