错题集
1.js 定义方法
fuanction a := function(){}
var a () = function{}
var string:a = (){}
2.正则里的$描述正确的是
匹配字符串的结束
3.let [a,b,c,d,e] = 'hello'
a=h b=e c=l d=l e=o
4.h5的web储存对象
sessionStorage
localStorage
5.当Html页面加载完毕时触发的事件
onLoad
6.CSS3中,能使用div的宽度变化有2秒的过渡效果的属性是
tansition
7.描述一下脚本放在和放到底部的区别
html渲染执行的顺序为从上到下的一个执行顺序,首先第一步执行head中的内容,如果有外联样式,则下载外联样式,如果有script标签,那么浏览器的渲染引擎则停止,交给JavaScript引擎执行,执行完毕之后将权力交给浏览器渲染。执行完head中的内容之后再执行body中的内容,遇到script标签则停止渲染,再次将执行权交给JavaScript引擎,head中样式在下载完毕后会重新渲染html的所有内容。
所以从上面可以看出,在head中使用script标签可能会导致DOM元素还没有加载,在script中就获取了DOM元素,那么就会出现获取不到元素的情况,如果是在body底部加载的话,那么此时的DOM元素已经全部渲染完毕,可以正常获取DOM元素
8.请使用Promise封装Ajax操作
function PromiseAjax() {
return new Promise((resolve, reject) => {
var req = newXMLHttpRequest();
req.open("POST", "www.baidu.com", true);
req.onload = function(){ if(req.readyState === 4&& req.status === 200){ resolve(req.response) } else{ reject(req.statusText) } } req.onerror = function(){ reject(Error("网络异常")) } })
}
var obj = new Object() var obj2 = obj obj2.name = '小仙女' console.log(obj.name) // 小仙女
document.write(str1.exec("hello")); // e
console.log(str1.test("hello")) // true