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-05-30React Native常用组件-点击组件
- 2024-05-30uniapp+vue3+uv-ui手机端后台OA管理模板
- 2024-05-29Python网络爬虫的时候json=就是让你少写个json.dumps()
- 2024-05-27React Native常用组件-展示组件
- 2024-05-27React Native常用组件-列表组件
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode
- 2024-03-13vuex-persist