js词法分析题
2021/10/23 6:11:29
本文主要是介绍js词法分析题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
//例1 function f1(age) { console.log(age); var age = 27; console.log(age); function age() { } console.log(age); } f1(3); // 词法分析: // 1.AO.age=undefined,AO.age=3 // 2.AO.age=3 // 3.AO.age=function age() {} // 执行结果: // function age() {} // 27 // 27 //例2 function func(age) { var age; console.log(age); var age = 25; console.log(age); function age() { console.log(age); } age(); console.log(age); } func(18); // 词法分析 // 1.分析参数AO.age=undefined->AO.age=18 // 2.分析局部变量,如果AO里没有任何属性就添加undefined,否则什么都不做:AO.age=18 // 3.分析声明函数(优先级最高)如果有就覆盖 AO.age=function age() {console.log(age)} // // 执行结果: // AO.age=function age() {console.log(age)} // 25 // 由于25不是函数,报错,结束 //例3 function func(age) { var age; console.log(age); function age() { console.log(age); } age(); console.log(age); } func(18); // 词法分析: // 1.AO.age=undefined,AO.age=18 // 2.AO.age=18 // 3.AO.age=function age() {console.log(age);} // 执行结果: // function age() {console.log(age);} // function age() {console.log(age);} // function age() {console.log(age);} //例4 function func(age) { console.log(age); var age = function age() { console.log(age); }; age(); console.log(age); } func(18); // 词法分析: // 1.AO.age=undefined,AO.age=18 // 2.AO.age=18 这个时候var age是局部变量 // 3.AO.age=18 func里此时没有声明函数 // 执行结果: // 18 // function age() {console.log(age);}; // function age() {console.log(age);}; // 例5 function t(age) { var age; console.log(age); function age() { console.log(age); } age(); console.log(age); } t(5); // 词法分析: // 1.AO.age=undefined,AO.age=5 // 2.AO.age=5 // 3.AO.age=function // 执行结果: // function // function // function // 例6 function t(age) { var age; console.log(age); age = "99"; console.log(age); function age() { console.log(age); } age(); console.log(age); } t(5); // 词法分析: // 1.AO.age=undefined,AO.age=5 // 2.AO.age=5 // 3.AO.age=function // 执行结果: // function // 99 // 报错 //例7 x(); var x = function(){ console.log(1); }; function x(){ console.log(2); } x(); // 词法分析:第一个函数x()在运行的瞬间 // 1.无 // 2.无 // 3.无 // 第二个x()在运行的时候 // x已经是function(){console.log(1);} // 执行结果: // 2 // 1 //例8 var i=10; function a() { console.log(i); var i = 2; // 提示:内部定义会隐藏外部变量 console.log(i); }; a(); // 词法分析:函数a在运行的瞬间 // 1.无 // 2.AO.i=undefined // 3.无 // 执行结果: // undefined // 2
这篇关于js词法分析题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程