经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » JavaScript » 查看文章
前端面试题0409
来源:cnblogs  作者:liedElxa  时间:2021/4/12 9:52:49  对本文有异议

第一题:

  1. var a = 6;
  2. for(var a = 0; a < 9; a++){
  3. }
  4. console.log(a);

 

第二题:

  1. var B = {
  2. num: "123",
  3. fn: function (){
  4. console.log(this.num);
  5. }
  6. }
  7. B.fn();
  8. var A = B.fn;
  9. A();

 

第三题:

  1. function A(a){
  2. console.log(a++);
  3. A = function (b){
  4. console.log(a++ + b);
  5. }
  6. }
  7. A(1);
  8. A(1);

 

参考答案:

第一题:

考点:变量提升,变量作用域

var不支持块级作用域,所以for中的变量a会覆盖掉for外面的,a在0~8循环,在9时跳出,所以最后输出9

第二题:

考点:函数的this

B.fn()的输出为123,A()的输出为undefined,函数中的this是动态的,取决于谁调用,B是由全局window调用的,window下无num属性,所以输出为undefined

第三题:

考点:闭包,自增运算符

第一次调用A(1)输出为1,并将一个新函数(闭包函数)赋值给A

第二次调用A(1)时,执行的是闭包函数,闭包函数中可以使用父函数的变量a(为2),b为1,所以a++ + b为3,输出为3

原文链接:http://www.cnblogs.com/liedElxa/p/14638216.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号