关于js的事件循环机制看这里
- 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)”>
-
原生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; }
-
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! -
页面的性能指标详解:
白屏时间(first Paint Time):用户从打开页面开始到页面开始有东西呈现为止
首屏时间:用户浏览器首屏内所有内容都呈现出来所花费的时间
用户可操作时间(dom Interactive):用户可以进行正常的点击、输入等操作,默认可以统计domready时间,因为通常会在这时候绑定事件操作
总下载时间:页面所有资源都加载完成并呈现出来所花的时间,即页面 onload 的时间
-
主流浏览器内核。
Trident 内核:IE,MaxThon,TT,The World,360,搜狗浏览器等。[又称 MSHTML]
Gecko 内核:Netscape6 及以上版本,Firefox,MozillaSuite/SeaMonkey 等
Presto 内核:Opera7 及以上。 [Opera 内核原为:Presto,现为:Blink;]
Webkit 内核:Safari,Chrome 等。 [ Chrome 的:Blink(WebKit 的分支)]