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-12-23【JS逆向百例】爱疯官网登录逆向分析
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程
- 2024-12-20Vue3入门教程:从零开始搭建你的第一个Vue3项目
- 2024-12-20从零开始学习vueRouter4:基础教程