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

相关推荐
小兵张健1 小时前
开源 playwright-pool 会话池来了
前端·javascript·github
codingWhat5 小时前
介绍一个手势识别库——AlloyFinger
前端·javascript·vue.js
Lee川5 小时前
深度拆解:基于面向对象思维的“就地编辑”组件全模块解析
javascript·架构
进击的尘埃5 小时前
Web Worker 与 OffscreenCanvas:把主线程从重活里解放出来
javascript
codingWhat5 小时前
手撸一个「能打」的 React Table 组件
前端·javascript·react.js
进击的尘埃5 小时前
用 TypeScript 的 infer 搓一个类型安全的深层路径访问工具
javascript
yuki_uix5 小时前
Object.entries:优雅处理 Object 的瑞士军刀
前端·javascript
Lee川5 小时前
JavaScript 面向对象编程全景指南:从原始字面量到原型链的终极进化
javascript·面试
Neptune19 小时前
JavaScript回归基本功之---类型判断--typeof篇
前端·javascript·面试
进击的尘埃9 小时前
微前端沙箱隔离:qiankun 和 wujie 到底在争什么
javascript