155 lines
3.1 KiB
HTML
155 lines
3.1 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Document</title>
|
||
<script>
|
||
// var a=1
|
||
// function fn(e){
|
||
// var b=1
|
||
// c=0
|
||
// var a="l"
|
||
// console.log(window.a)
|
||
// }
|
||
// fn("a")
|
||
// console.log(e)
|
||
// console.log(c)
|
||
// console.log(b)
|
||
// a 全局变量 全局作用域
|
||
// b 局部变量(局部作用域)
|
||
|
||
// GO{
|
||
// a:undefined,
|
||
// fn:function(){}
|
||
// }
|
||
// AO{
|
||
// b:undefined,
|
||
// c:undefined,
|
||
// a:undefined,
|
||
// e:undefined
|
||
// }
|
||
// AO{
|
||
// b:undefined,
|
||
// c:undefined,
|
||
// a:undefined,
|
||
// e:"a"
|
||
// }
|
||
// AO{
|
||
// b:undefined,
|
||
// c:undefined,
|
||
// a:undefined,
|
||
// e:"a"
|
||
// }
|
||
|
||
// js 运行三部曲:语法分析 预编译 解释执行
|
||
// function fn1(){
|
||
// console.log(a) //window.a
|
||
// var a=1 //window.a
|
||
// // console.log(a)
|
||
// }
|
||
// fn1()
|
||
|
||
|
||
//AO{}
|
||
//AO{
|
||
// a:undefined==> 1
|
||
// }
|
||
|
||
// GO{
|
||
// fn:function
|
||
// }
|
||
|
||
|
||
// 预编译
|
||
// 1.分为 全局(GO)和局部 (AO)
|
||
// 2.发生什么(AO)
|
||
// 1. 创建AO对象
|
||
// 2. 去找形参 变量声明 =>undefined
|
||
// 3. 形参实参相统一
|
||
// 4. 找函数声明 值赋予函数体
|
||
|
||
|
||
|
||
// function fn(a) {
|
||
// console.log(a); function a() { }
|
||
|
||
// var a = 666;
|
||
|
||
// console.log(a); 666
|
||
|
||
// function a() { }
|
||
|
||
// console.log(a); 666
|
||
|
||
// var b = function () { };
|
||
|
||
// console.log(b); function() { }
|
||
|
||
// function c() { }
|
||
// }
|
||
|
||
// fn(1);
|
||
|
||
// AO{}
|
||
// AO{
|
||
// a:undefined,
|
||
// b:undefined,
|
||
// }
|
||
// AO{
|
||
// a:1,
|
||
// b:undefined,
|
||
// }
|
||
// AO{
|
||
// a:Function,
|
||
// b:undefined,
|
||
// c:function
|
||
// }
|
||
|
||
|
||
var a = 1;
|
||
console.log(a);
|
||
function test(a) {
|
||
console.log(a);
|
||
var a = 123;
|
||
console.log(a);
|
||
function a() { }
|
||
console.log(a);
|
||
var b = function () { }
|
||
console.log(b);
|
||
function d() { }
|
||
}
|
||
var c = function () {
|
||
console.log("I at C function");
|
||
}
|
||
console.log(c);
|
||
test(2);
|
||
// AO{}
|
||
// AO{
|
||
// a:undefined,
|
||
// b:undefined,
|
||
// c:undefined
|
||
// }
|
||
// AO{
|
||
// a:2,
|
||
// b:undefined,
|
||
// c:undefined
|
||
|
||
// }
|
||
// AO{
|
||
// a:function,
|
||
// d:function,
|
||
// b:undefined,
|
||
// c:undefined
|
||
// }
|
||
|
||
</script>
|
||
</head>
|
||
|
||
<body>
|
||
|
||
</body>
|
||
|
||
</html> |