• 测试:你自认为理解了JavaScript?


    http://news.cnblogs.com/n/165436/

    mitry Baranovskiy 的博客中有篇文章(链接),其中有五段小代码,用来测试是否理解 JavaScript 的核心,闭包和作用域。大家先试着给出 alert 语句的输出结果。之后再建一个测试文件,检测你的答案。

    if(!("a" inwindow)) {
    vara = 1;
    }
    alert (a);

    vara = 1,
    b = functiona (x) {
    x && a (--x);
    };
    alert (a);

    functiona (x) {
    returnx * 2;
    }
    vara;
    alert (a);

    functionb (x, y, a) {
    arguments[2] = 10;
    alert (a);
    }
    b(1, 2, 3);

    functiona () {
    alert (this);
    }
    a.call (null);



    8
    2
     



    额,我是搞web前端的,来此测试一番。。。。个人知识有限,请指教: 一//////////////////////////////////////////////////////////////////////////////////////////////////// if (!("a" in window)) { var a = 1; } alert (a); 答案:undefined ; 因为"a"这种变量定义,在js中会默认提前;代码相当于: var a; if (!(window.a in window)) { var a = 1; } alert (a); 二//////////////////////////////////////////////////////////////////////////////////////////////////// var a = 1; var b = function a (x) { x && a (--x); }; alert (a); 答案:1; 这道题应该是考的,函数定义问题,因为函数申明会提前,此题相当于: function a (x) { x && a (--x); }; var b = a; var a = 1; alert (a); 三//////////////////////////////////////////////////////////////////////////////////////////////////// function a (x) { return x * 2; } var a; alert (a); 答案是:函数体,a若是未定义的话,将会忽略;好吧,此题我蒙的。。。 四//////////////////////////////////////////////////////////////////////////////////////////////////// function b (x, y, a) { arguments[2] = 10; alert (a); } b(1, 2, 3); 答案为:10,argument为活动对象,值会跟着变的 五//////////////////////////////////////////////////////////////////////////////////////////////////// function a () { alert (this); } a.call (null); 此题相当于: function a () { alert (this); } a.call (window);

  • 相关阅读:
    Spring注解@Component、@Repository、@Service、@Controller @Resource、@Autowired、@Qualifier 解析
    Oracle Instant Client 安装配置
    Android Studio配置文件路径修改
    Java压缩技术(三) ZIP解压缩——Java原生实现
    Java压缩技术(二) ZIP压缩——Java原生实现
    Java压缩技术(一) ZLib
    [JavaEE] JBoss主要版本下载链接一览
    EL表达式
    如何实现hibernate的缓存机制
    如何理解hibernate当中的锁机制
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4399967.html
Copyright © 2020-2023  润新知