• 【疑问】JavaScript


    1.内部元素触发事件,会产生事件冒泡,一一到达父元素。
    比如<a><b><c attr="a"></c></b></a>。
    我点击c触发click事件,是否可以将c的attr属性附带在event对象中传递给后续的绑定了事件处理函数的父元素呢?
    然后,冒泡来到b,可以认为b也触发了click事件,那么最终当事件来到a时,a了监听事件,在a的事件处理函数中,可以通过event.target获得最初触发click事件的元素c,然而我是否可以获得同样触发了click事件的元素b呢?
    2.<noscript>标签在chrome下,首次加载会给里面的内容套上""而使得所有内容变成文本显示在页面中,再次刷新后""消失,所有标签以正常呈现。
    3.在ff控制台下,执行:
    function f(){
      var a ="a";
      console.log(a);
      console.log(a);
    }
    f()
    再剪切掉第四行,执行:
    function f(){
      var a ="a";
      console.log(a);
    }
    f()
    最后按下ctrl+z返回剪切前的状态,再执行,会显示第四行出错 ReferenceError: a is not defined

    4.if(!!object){...}的写法,!!object是否会先以!obejct转换成false然后再通过!转换成true,以此加快速度?
    5.Object > Function 而new Object < new Function 这是在搞什么啊
    6.直接delete a ,在控制台是可行的,但是写在代码里在编译期会报错:
    SyntaxError: applying the 'delete' operator to an unqualified name is deprecated
    7.
    var o = 9;
    (function(){
      var o = o;
      console.log(o)
    })();//这里漏了分号,会报错 (intermediate value)(...) is not a function
    (function(){
      console.log(o)
    })()

    以上代码会console
    9
    undefined

    第一个之所以不console.log(9),是因为流程如下:
    var o;//undefined
    o = o;//undefined

    10.42.toFixed(3)会报错SyntaxError: identifier starts immediately after numeric literal,而42.0.toFixed(3)不会。
    可能是因为前者将点号,认作小数点了

    11.在子元素中写ng-if,子元素绑定click:切换作用域属性使得ng-if为false,父元素中写事件委托给子元素绑定click:console.log('a')。
    点击子元素时不会执行父元素的事件委托。
    可能是因为在子元素绑定click的执行中销毁了子元素dom,使得当事件传递至父元素时,父元素查找dom找不到子元素的存在了,所以没有执行事件委托。
    11.1 这个问题的引申:结果父元素的事件委托一直存在,所以不注意事件委托消除的话会产生问题。
    12.post能否单post一个值而不是对象?get呢?
    13.for-in能遍历到原型继承中的属性,但为什么for-in不能遍历到[].slice?
    var F = function(){
     
    }
    F.prototype = {
      a:2
    }
    var Q = function(){

    }
    Q.prototype = new F;

    var b = new Q
    for(var i in b){
      console.log(i + ":" + b[i])//能打印"a:2"
    }
    14.重复点击会产生重复的ajax,如何避免?
    15.闭包导致内存泄露。给elem绑定事件时,事件处理函数的作用域链上的对象是否一直会被保持呢?这样是否就会导致内存泄露?
    https://segmentfault.com/a/1190000002778015
    总结一下 为什么嵌套函数在被return之后可以继续引用父函数作用域内的局部变量?
    其关键在于 嵌套函数被return后,其作用域链 仍然指向 其父函数产生的活动对象。
    16.
    var d = new Date;
    d.setMonth(5);
    d.setDate(-1);
    console.log(d.getMonth());
    console.log(d.getDate())
    17.如何给一个对象添加指向其原型的不可见super属性?
    18. 0.2-0.1 === 0.1; 0.8-0.6 !== 0.2//实际会是0.2000...7
    这个应该是二进制的问题?究竟什么时候会出现bug?

  • 相关阅读:
    Brighter3d无法渲染可导入REVIT渲染
    屏蔽优酷等视频网站片头广告
    REVIT机电管线支架族的创建
    如何显示链接的REVIT模型中的注释文字
    REVIT参数化自适应多边形拉伸
    REVIT族管理插件project family brower
    使用VMware虚拟磁盘管理工具调整磁盘大小
    硬件兼容性的陷阱,DrawIndexedPrimitiveUP的用法
    第二章 伤寒之意义(1)
    可变参数函数设计
  • 原文地址:https://www.cnblogs.com/followBlade/p/6511422.html
Copyright © 2020-2023  润新知