HTML Windows API和原生js相关 错题

这篇博客探讨了JavaScript中的事件循环机制,特别是涉及onclick事件和history对象的使用。文章指出,onclick事件在for循环中会被挂起,待同步任务完成后依次执行,导致全局变量的副作用。此外,文章还详细解释了页面性能指标,如白屏时间、首屏时间和DOM交互时间,并介绍了不同浏览器内核,如Trident、Gecko、Presto和Webkit。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于js的事件循环机制看这里

  1. history。
    当用户打开一个网页时,想一直停留在当前打开的页面,禁止页面前进和后退,以下正确的是(      )
  • Window History Back:加载历史列表中前一个 URL。 这等同于在浏览器中点击后退按钮。
  • go() 方法载入到会话历史中的某一特定页面, 通过与当前页面相对位置来标志 (当前页面的相对位置标志为0)。向后移动一个页面,等同于调用 back():window.history.go(-1);向前移动一个页面, 等同于调用了 forward():window.history.go(1);
  • A和D就是走完整个history,导致不能前进和后退。实现效果等同:<body οnbefοreunlοad=“history.go(0)”>
  1. 原生js。

    <form name="a">
    <select name="a" size="1" id=”obj”>
    <option value="a">1</option>
    <option value="b">2</option>
    <option value="c">3</option>
    </select>
    </form> 
    //获取域的选择部分的文本
    

    首先注意是选择部分的文本,而不是选择的文本。然后value是是否被选中,text才是值。

    window.onload = function(){
        //首先获得下拉框的节点对象;
        var obj = document.getElementById("obj");
        //1.如何获得当前选中的值?:
        var value = obj.value;
        //2.如何获得该下拉框所有的option的节点对象
        var options = obj.options;
        //注意:得到的options是一个对象数组
        //3.如何获得第几个option的value值?比如我要获取第一option的value,可以这样:
        var value1 =options[0].value;
        //4.如何获得第几个option的文本内容?比如我要获取第一option的文本,可以这样:
        var text1 = options[0].text;
        //5.如何获得当前选中的option的索引?
        var index = obj.selectedIndex;
        //6.如何获得当前选中的option的文本内容?
        //从第2个问题,我们已经获得所有的option的对象数组options了
        //又从第5个问题,我们获取到了当前选中的option的索引值
        //所以我们只要同options[index]下标的方法得到当前选中的option了
        var selectedText =options[index].text;
    }
    
    
  2. onclick事件。
    在这里插入图片描述
    事件(click,focus等等),定时器(setTimeout和setInterval),ajax,都是会触发异步,属于异步任务;js是单线程的,一个时间点只能做一件事,优先处理同步任务; 按照代码从上往下执行,遇到异步就挂起,放到异步任务里,继续执行同步任务,只有同步任务执行完了,才去看看有没有异步任务,然后再按照全部微任务→一个宏任务的顺序执行!注意:如果执行微任务的途中遇到了新的微任务,也会立刻放入时间队列中,在当前事件循环中执行。 这里for循环是同步任务,onclick是异步任务,所以等for循环执行完了,i变成4了,注意:这里因为i是全局变量,最后一个i++,使得i为4(后面的onclick函数,最后在循环外面执行,不受i<length限制); 所以for循环每执行一次,onclick事件函数都会被挂起一次,共4次; for循环结束后,点击事件 触发了4个onclick函数,接着输出4个4!

  3. 页面的性能指标详解:
    白屏时间(first Paint Time):用户从打开页面开始到页面开始有东西呈现为止
    首屏时间:用户浏览器首屏内所有内容都呈现出来所花费的时间
    用户可操作时间(dom Interactive):用户可以进行正常的点击、输入等操作,默认可以统计domready时间,因为通常会在这时候绑定事件操作
    总下载时间:页面所有资源都加载完成并呈现出来所花的时间,即页面 onload 的时间

  4. 主流浏览器内核。

    Trident 内核:IE,MaxThon,TT,The World,360,搜狗浏览器等。[又称 MSHTML]

    Gecko 内核:Netscape6 及以上版本,Firefox,MozillaSuite/SeaMonkey 等

    Presto 内核:Opera7 及以上。 [Opera 内核原为:Presto,现为:Blink;]

    Webkit 内核:Safari,Chrome 等。 [ Chrome 的:Blink(WebKit 的分支)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值