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、执行

相关推荐
蚰蜒螟11 分钟前
从 pthread_create 到 thread_native_entry:glibc 如何唤醒 Java 线程
java·开发语言
We་ct14 分钟前
LeetCode 300. 最长递增子序列:两种解法从入门到优化
开发语言·前端·javascript·算法·leetcode·typescript
gCode Teacher 格码致知15 分钟前
Python提高: unittest和 pytest的使用方法-由Deepseek产生
开发语言·python·pytest
Johnstons33 分钟前
网络可观测性落地指南:从“出了问题才排查“到“实时感知全网状态“
开发语言·网络·php
️是7839 分钟前
信息奥赛一本通—编程启蒙(3371:【例64.2】 生日相同)
开发语言·c++·算法
Kiling_070440 分钟前
Java Math类核心用法全解析
java·开发语言
jieyucx43 分钟前
Go 语言运算符与控制台输入输出详解
开发语言·后端·golang
Ulyanov1 小时前
《玩转QT Designer Studio:从设计到实战》 QT Designer Studio的定位革命与技术架构
开发语言·python·qt·系统仿真·雷达电子对抗仿真
iiiiyu1 小时前
常用API(StringJoiner类 & Math类 & System类)
java·大数据·开发语言·数据结构·编程语言
Xiu Yan2 小时前
Java 转 C++ 系列:函数对象、谓词和内建函数对象
java·开发语言·c++