【JavaScript】笔记1.2

函数

function test(){
    
} 

表达式

1.命名函数表达式

var test = function abc(){
    document.write('a');
}

2.匿名函数表达式 ———— 函数表达式

var demo = function(){
    document.write('b');
}

参数

不用声明参数类型

实参arguments

形参(函数名)

返回值return

作用域

全局变量

var a = 123;

局域变量

function test(){
    var a = 10;
}

递归

function mul(n){
    if(n == 1){
        return 1;
    }
    return n * mul(n - 1);
}

注意:
1.找规律
2.找出口

预编译

预编译发生在函数执行的前一刻

函数声明整体提升

变量 声明提升

暗示全局变量imply global

即任何变量,如果变量未经声明就赋值,此变量就为全局对象所有

window是全局的域

一切声明的全局变量,全是window的属性

预编译分为四步:
1.创建AO(Activation Object)(执行期上下文)对象
2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined
3.将实参值和形参统一
4.在函数体里面找函数声明,值赋予函数体

外部预编译时会生成一个GO(Global Object)对象

GO === window

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值