html、css、javascript试题
1.求最后x=? y=? z=? 考点:预编译,函数提升,后面的覆盖前面的
var x=1,y=z=0;
function add(n){
return n=n+1
}
y=add(x);
function add(n){
return n=n+3
}
z=add(x);
答案 1,4,4,同一个函数,后面会覆盖前面的,fn add 会升到前面
2.为一个数组去重eg:
arr=“a”,“b”,234,34,“a”,“b”,3,1,4,3
答:
Array.prototype.quchong = function (arr) {
for(var i = 0;i<arr0.length;i++){
for(var j = i+1;j<arr0.length-1;j++){
if(arr0[i]==arr0[j]){
arr0.splice(j, 1);
j--;
}
}
}
return arr;
};
3.如今有一个ul,里面有十亿个li,要求点击li触发事件,弹出相对应的li的内容
答:
结构:
- li*10亿
<script>
var liobj = document.getElementsByTagName("li");
for (var i=0;i<liobj.length;i++){
liobj[i].οnclick=function(){
alert(this.innerHTML)
}
}
</script>
4.如何阻止事件冒泡和事件默认事件?
答:
阻止事件冒泡:
oEvent.cancelBubble = true;//IE
oEvent.stopPropagation();//标准dom
阻止默认事件:
oEvent.preventDefault();
return false;
5.什么是Dom?
document object modal文档对象模型,他是w3c组织推荐的可扩展性标记语言的标准编程接口,在网页上组织页面或文档的对象,被组织在一个树形结构中,用来表示文档中对象的标准模型
6.运行test()和new test()的结果是什么?
var a = 5;
function test() {
a = 0;
alert(a);
alert(this.a);
var a;
alert(a);
}
答:test()运行结果为0,5,0
new test()运行结果为0,undefined,0