215 lines
3.5 KiB
Markdown
215 lines
3.5 KiB
Markdown
# 预编译作用域练习
|
||
|
||
1. 下面代码的执行结果是什么为什么
|
||
```
|
||
console.log(x)
|
||
x=5
|
||
```
|
||
|
||
2. 下面代码的执行结果是什么为什么
|
||
```
|
||
console.log(x)
|
||
var x=5
|
||
```
|
||
3. 下面代码的执行结果是什么 为什么
|
||
```
|
||
var x = 5;
|
||
console.log(x+""+y)
|
||
var y=5
|
||
|
||
```
|
||
|
||
4. 下面代码的执行结果是什么 为什么
|
||
```
|
||
"use strict";
|
||
x = 3.14;
|
||
```
|
||
|
||
5. 下面代码的执行结果是什么 为什么
|
||
```
|
||
"use strict";
|
||
myFunction();
|
||
|
||
function myFunction() {
|
||
y = 3.14; // 报错 (y 未定义)
|
||
}
|
||
```
|
||
|
||
6. 为什么要使用严格模式
|
||
7. 总结严格模式的限制
|
||
8. 下面代码的执行结果是什么 为什么
|
||
```
|
||
var x = 0.1;
|
||
var y = 0.2;
|
||
var z = x + y
|
||
console.log(z==0.3)
|
||
```
|
||
|
||
9. js有几种类型的作用域 分别是啥
|
||
10. 下面代码的执行结果是什么 为什么
|
||
```
|
||
|
||
function myFunction() {
|
||
var carName = "porsche";
|
||
|
||
console.log(carName)
|
||
|
||
}
|
||
|
||
```
|
||
11. 下面代码的执行结果是什么 为什么
|
||
```
|
||
|
||
function myFunction() {
|
||
var carName = "porsche";
|
||
}
|
||
console.log(carName)
|
||
|
||
```
|
||
|
||
12. js运行三部曲是
|
||
|
||
13. 任何变量如果未经声明就赋值 此变量是
|
||
|
||
14. 一切声明的全局变量 全是 的属性
|
||
|
||
15. 分析下面代码 的预编译执行过程
|
||
|
||
```
|
||
var x = 1,
|
||
y = z = 0;
|
||
|
||
function add (n) {
|
||
return n = n + 1;
|
||
}
|
||
|
||
y = add(x);
|
||
function add (n) {
|
||
return n = n + 3;
|
||
}
|
||
|
||
z = add(x)
|
||
```
|
||
|
||
|
||
|
||
16. 函数预编译的步骤
|
||
|
||
17. 全局预编译的步骤
|
||
|
||
18. 分析下面代码的预编译执行过程
|
||
|
||
```
|
||
function fn(a){
|
||
console.log(a);
|
||
var a = 123;
|
||
console.log(a);
|
||
|
||
function a(){};
|
||
console.log(a);
|
||
|
||
var b = function(){};
|
||
console.log(b);
|
||
|
||
function d(){};
|
||
}
|
||
|
||
//调用函数
|
||
fn(1);
|
||
```
|
||
|
||
|
||
|
||
18. 分析下面代码的预编译执行过程
|
||
|
||
```
|
||
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);
|
||
```
|
||
|
||
|
||
|
||
19. 为什么会发生变量提升
|
||
|
||
20. 下面代码的执行结果是什么 为什么
|
||
|
||
```
|
||
fun();
|
||
console.log(b);
|
||
var b = function fun(){
|
||
var a = 456;
|
||
console.log(a);
|
||
}
|
||
|
||
```
|
||
|
||
21. 下面代码的执行结果是什么 为什么
|
||
|
||
```
|
||
console.log(b);
|
||
var b = function fun(){
|
||
var a = 456;
|
||
console.log(a);
|
||
}
|
||
fun();
|
||
|
||
```
|
||
|
||
22. 什么是执行期上下文
|
||
|
||
23. js中有哪几种执行期上下文 分别介绍
|
||
|
||
24. 分析下面代码的预编译执行过程
|
||
|
||
```
|
||
global = 100;
|
||
function fn() {
|
||
console.log(global);
|
||
global = 200;
|
||
console.log(global);
|
||
var global = 300;
|
||
}
|
||
fn();
|
||
var global;
|
||
```
|
||
|
||
|
||
|
||
25. 分析下面代码 预编译执行过程
|
||
|
||
```
|
||
function test() {
|
||
console.log(b);
|
||
if (a) {
|
||
var b = 100;
|
||
}
|
||
c = 234;
|
||
console.log(c);
|
||
}
|
||
var a;
|
||
test();
|
||
a = 10;
|
||
console.log(c);
|
||
|
||
作者:前端布吉岛
|
||
链接:https://juejin.cn/post/6933756598678454280
|
||
来源:掘金
|
||
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
|
||
```
|
||
|
||
|