zoukankan      html  css  js  c++  java
  • 前端面试题整理

    // 案例1
    // var a = 25;
    // function abc() {
    // alert(a);
    // var a = 10;//就近原则;
    // }
    // abc(); undefined


    // 案例2:变量声明提升在函数声明提升之前
    // console.log(a); 'aaaaa'
    // function a() {
    // console.log('aaaaa');
    // }
    // var a = 1;
    // console.log(a); 1

    // 1、-----------------------------------
    // var num = 10;
    // fun();
    // function fun() {
    // console.log(num);//变量声明提升,就近原则使用变量;
    // var num = 20;
    // }undefined
    //2、-----------------------------------
    // var a = 18;
    // f1();
    // function f1() {
    // var b = 9;
    // console.log(a); undefined
    // console.log(b); 9
    // var a = '123';
    // }
    // 3、-----------------------------------
    // f1();
    // console.log(c);
    // console.log(b);
    // console.log(a);//不是全局变量,所以报错
    // function f1() {
    // var a = b = c = 9;
    // console.log(a);//局部变量不可能升级到全局范围内
    // console.log(b);
    // console.log(c);
    // }

    说明://1.定义变量全局的进入script就定义;进入函数立即定义;
               //2.隐式全局变量只能出现在面试中;全部使用var定义;
               //3.预解析,只能是面试;
               //4.js中没有块儿级作用域;for循环中的i看情况,看for是否在函数中;

    事件流:

    //关于事件流理解
    //事件流涉及三个部分,
    //1、事件绑定,解绑
    //利用.的方式绑定事件会出现事件层叠。在DOM2中出现事件监听事件的方法,addEventListener
    //但是该方法兼容性有问题,对IE6,7,8不兼容要使用attachEvent;注意:使用什么方法绑定事件
    //就应该用对应的方法解绑。

    //2、事件对象,事件对象也有兼容性问题。
    //谷歌支持该参数,也支持直接书写
    //火狐支持该参数,但不支持直接书写需要传承。
    // IE6,7,8不支持参数要用window.event。
    event = event || window.event;
    //event有一些属性和方法,方法中使用最多的就是阻住冒泡事件如: event.stopPropagation(),
    //相对于IE6,7,8则使用event.cancelBubble=true;属性设置的。

    //属性: 事件引发者,这里不一定是事件源。
    //兼容性问题
    //target = event.target || event.srcElement;

    //3、事件传播阶段: 捕获,目标,冒泡
    //可以利用event.eventPhase;来表明该元素属于哪个阶段
    //利用事件绑定时的第三个参数,设置事件传播类型。如果不设置默认为false,冒泡。如果为true,
    //则为捕获。IE6,7,8中不支持捕获。

  • 相关阅读:
    git常用命令
    Expected Conditions的常用函数
    Docker(二十)-Docker容器CPU、memory资源限制
    Docker(十九)-Docker监控容器资源的占用情况
    ubuntu制作本地源
    ubuntu下安装软件的三种方法
    把windows的bat用好了,也很不错
    escape()、encodeURI()、encodeURIComponent()区别详解
    如何解决Ajax跨域问题-1
    五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理
  • 原文地址:https://www.cnblogs.com/sunqq/p/7532067.html
Copyright © 2011-2022 走看看