js 深度学习(四)

  1. 函数
var test = function test1(){
    var a =1,b=2
    console.log(a,b)
    test1()//递归
}
console.log(test.name) //test1
test1() //报错

匿名函数表达式 函数自变量

var test = function(){->匿名函数
    var a =1,b=2
    console.log(a,b)
    test1()//递归
}
var test = function(a,b){
    var a =1,b=2
    console.log(argyments) //形参
}

function test(a,b)
给未定义的形参赋值还是undefined,给定义的形参赋值可以修改
2、预编译
1.通篇检查语法错误
1.5.预编译的过程
2.解释一行 执行一行
函数声明整体提升,变量只有声明提升,赋值是不提升的
暗示全局变量

var a=1;
b=2;
function test(){
 var a = b = 1; //函数内部 没有声明 直接赋值存在window
}

函数内部预编译过程
1、寻找形参和变量声明
2、将实参赋值形参
3、寻找函数体声明 赋值函数体
4、执行

你可能感兴趣的:(javascript,开发语言,ecmascript)