js 深度学习(四)

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

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

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

function test(a,b)

给未定义的形参赋值还是undefined,给定义的形参赋值可以修改

2、预编译

1.通篇检查语法错误

1.5.预编译的过程

2.解释一行 执行一行

函数声明整体提升,变量只有声明提升,赋值是不提升的

暗示全局变量

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

函数内部预编译过程

1、寻找形参和变量声明

2、将实参赋值形参

3、寻找函数体声明 赋值函数体

4、执行

相关推荐
浪扼飞舟31 分钟前
WPF输入验证(ValidationRule)
java·javascript·wpf
她说..7 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
watson_pillow8 小时前
c++ 协程的初步理解
开发语言·c++
庞轩px8 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你918 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
这是个栗子9 小时前
TypeScript(三)
前端·javascript·typescript·react
白毛大侠10 小时前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
李昊哲小课10 小时前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl
Hou'10 小时前
从0到1的C语言传奇之路
c语言·开发语言
不知名的老吴10 小时前
返回None还是空集合?防御式编程的关键细节
开发语言·python