函数的创建,作用域以及重载

Function

一切函数都是对象
封装了可重复使用的代码块对象,函数名只不过是一个引用函数对象的变量
什么时候要将代码封装起来?独立的且可以反复执行的内容
什么时候需要使用参数?只要函数执行就必须使用的某些数据,否则无法正常执行 这些数据就定义为参数
什么时候需要使用返回值?如果函数的调用者需要函数执行的结果,函数就必须有返回值
function创建
1.声明:function 函数名(参数列表){函数体;return 返回值;}
2. 直接量!不希望函数体被提前声明时
var 函数名 = function(参数列表){函数体;return 返回值;}
声明提前:在程序开始执行前,都会将var声明的变量和function声明的函数都提到当前作用域中,赋值保留在原地
3. 用new创建
var fun = new Function(“a”,“b”,“return a+b;”);
所有形参必须放在""中

作用域

作用域:一个变量的可用范围
1.全局作用域window:全局变量
随处可见,反复使用
2.函数作用域:局部变量
局部变量(AO:Action Object):仅在函数内可用,不可以反复使用
作用域链
由多级作用域连续引用形成的链式结果
掌握一切变量的使用顺序 :先在局部找,没有则延作用域链向父级作用域中找。

重载

相同函数名,不同参数列表的多个函数 在调用时,可以根据传入的参数的不同,自动选择对应的函数调用!
一个函数名,执行多个操作
什么时候用: 一个任务,根据不同的参数,执行不同的操作流程
但是js语法不支持重载效果,不允许多个重名函数存在(存在也会被最后的覆盖)
解决办法:通过arguments 对象 所有函数对象内,都自动创建了一个arguments对象
arguments对象:专门保存传入函数的所有参数值得类数组对
和数组的相同之处:都有下标,length属性,都能用for循环遍历
不同: 类数组对象是Object,不是Array,无法使用数组的API

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值