请教几道javascript的面试题,急!

时间:2021-12-08 14:19:47
第一道:
<script type="text/javascript">
var x = 1;
var y = 0;
var z = 0;
function add(n){n=n+1;}
y = add(x);
function add(n){n=n+3;}
z = add(x);
</script>

求y和z 的值是多少?

第二道:javascript是面向对象的,怎么体现javascript的继承关系?

第三道:javascript怎样选中一个checkbox,怎样设置它无效?


另外还有一道css的题:
在css中:以下语句各代表什么意思?
  td{width100%}
 .td{width100%}
 #td{width100%}
##td{width100%}



谢谢各位大侠!

23 个解决方案

#1


第一题:

都为undefined

第二题:

使用prototype来实现

第三题:

设置checkbox的disabled为true

#2


哇,你的第一题很危险啊,不小心就会被忽悠了。
function add没有返回值,y和z都会是undefined,而且,将add函数改好:
function add(n){return n=n+1;}和function add(n){return n=n+3;}
y和z都会是4,因为后面定义的add会覆盖前面定义的add。

#3


td{width100%}   表HTML元素
.td{width100%}  //类元素
#td{width100%}  //ID
##td{width100%} //这个就不知道了


楼上的大哥 y z为什么是undefined呢

#4


第一道:两个都是undefined,除非这样
function add(n){n=n+1;return n;}
function add(n){n=n+3;return n;}
两个都变成了4

第二:不知道!

第三:设置checkbox的disabled为true
比如下面的代码

<html>
<head>
<script type="text/javascript"> 
function x(){
document.all.cb1[0].disabled=true;
}
</script>
</head>
<body onload="x()">
<input name="cb1" type="checkbox">
<input name="cb1" type="checkbox">
<input name="cb1" type="checkbox">
</body>
</html>



第四:td{width:100%} 将所有的TD宽度设置为和容器的宽度一样(占容器宽度的100%)
.td{width:100%} 类管理器,设置类名为“td”的对象,具体设置同上
#td{width:100%} ID管理器,设置ID名为“td”的对象
##td{width:100%} 不知道!

#5


引用 3 楼 fuyou001 的回复:
td{width100%}  表HTML元素 
.td{width100%}  //类元素 
#td{width100%}  //ID 
##td{width100%} //这个就不知道了 


楼上的大哥 y z为什么是undefined呢 


因为函数没有返回值 

所以得到的值就是undefined

#6


原来是这样,第一题太忽悠人了,哇哇!!!

我猜想
##td{width100%} //是修饰ID是"#td"的元素

你们说呢?

#7


##td{width100%} 

这是什么意思?

#8


收藏了。

#9


55555555,我刚才还在自己机器上尝试第一题呢,总是alert出两个undefined,还以为哪儿写错了,原来答案就是这个,晕

谢谢各位大侠的解答,感激不尽啊!

#10


呵呵

#11


再请教下,

  循环设置document.getElementByName("checkbox")[i].checked=false;

与循环设置document.getElementByName("checkbox")[i].disabled=true;

有啥区别么?

#12


heh

#13


引用 11 楼 hhdn 的回复:
再请教下, 

  循环设置document.getElementByName("checkbox")[i].checked=false; 

与循环设置document.getElementByName("checkbox")[i].disabled=true; 

有啥区别么? 

上面一个设置对象为有效,下面一个失效

#14


晕,看错了,不好意思

document.getElementByName("checkbox")[i].checked=false;
是设置为不选择

document.getElementByName("checkbox")[i].disabled=true;
是设置失效

#15


checked=false;  是不选中,但还可以再选择操作
disabled=true;  是变灰了(类似只读),不能再进行选择操作

#16


如果按第一题题意,要求Y和Z的和,结果不是undefined啦,两个undefined相加,会是NaN。

就第一题进行了一下探讨,参见:
http://www.v-ec.com/dh20156/article.asp?id=143

#17


谢谢楼上所有大侠的帮忙,可以结帖了,嘎嘎!祝大家天天都有好心情!

#18


第一道: 
都为undefined
第二道:不太清楚
第三道:javascript怎样选中一个checkbox,怎样设置它无效?
 
如果你要对第二个复选框改为选中状态则:checkbox[1].checked=true;

循环设置document.getElementByName("checkbox")[i].checked=false;  //是遍历不是被选中的复选框.
与循环设置document.getElementByName("checkbox")[i].disabled=true;  //是遍历被设置为无效的复选框

#19


引用 5 楼 lawrendc 的回复:
引用 3 楼 fuyou001 的回复:
td{width100%}  表HTML元素 
.td{width100%}  //类元素 
#td{width100%}  //ID 
##td{width100%} //这个就不知道了 


楼上的大哥 y z为什么是undefined呢 
 

因为函数没有返回值 

所以得到的值就是undefined

原来是这样,被忽悠了!呵呵

#20


dddddddddddddddddddddddddddd

#21


受教了,谢谢!!!

#22


##td{width100%}
是什么意思呢?

#23


一不小心就调入陷阱了!呵呵,受教啦

#1


第一题:

都为undefined

第二题:

使用prototype来实现

第三题:

设置checkbox的disabled为true

#2


哇,你的第一题很危险啊,不小心就会被忽悠了。
function add没有返回值,y和z都会是undefined,而且,将add函数改好:
function add(n){return n=n+1;}和function add(n){return n=n+3;}
y和z都会是4,因为后面定义的add会覆盖前面定义的add。

#3


td{width100%}   表HTML元素
.td{width100%}  //类元素
#td{width100%}  //ID
##td{width100%} //这个就不知道了


楼上的大哥 y z为什么是undefined呢

#4


第一道:两个都是undefined,除非这样
function add(n){n=n+1;return n;}
function add(n){n=n+3;return n;}
两个都变成了4

第二:不知道!

第三:设置checkbox的disabled为true
比如下面的代码

<html>
<head>
<script type="text/javascript"> 
function x(){
document.all.cb1[0].disabled=true;
}
</script>
</head>
<body onload="x()">
<input name="cb1" type="checkbox">
<input name="cb1" type="checkbox">
<input name="cb1" type="checkbox">
</body>
</html>



第四:td{width:100%} 将所有的TD宽度设置为和容器的宽度一样(占容器宽度的100%)
.td{width:100%} 类管理器,设置类名为“td”的对象,具体设置同上
#td{width:100%} ID管理器,设置ID名为“td”的对象
##td{width:100%} 不知道!

#5


引用 3 楼 fuyou001 的回复:
td{width100%}  表HTML元素 
.td{width100%}  //类元素 
#td{width100%}  //ID 
##td{width100%} //这个就不知道了 


楼上的大哥 y z为什么是undefined呢 


因为函数没有返回值 

所以得到的值就是undefined

#6


原来是这样,第一题太忽悠人了,哇哇!!!

我猜想
##td{width100%} //是修饰ID是"#td"的元素

你们说呢?

#7


##td{width100%} 

这是什么意思?

#8


收藏了。

#9


55555555,我刚才还在自己机器上尝试第一题呢,总是alert出两个undefined,还以为哪儿写错了,原来答案就是这个,晕

谢谢各位大侠的解答,感激不尽啊!

#10


呵呵

#11


再请教下,

  循环设置document.getElementByName("checkbox")[i].checked=false;

与循环设置document.getElementByName("checkbox")[i].disabled=true;

有啥区别么?

#12


heh

#13


引用 11 楼 hhdn 的回复:
再请教下, 

  循环设置document.getElementByName("checkbox")[i].checked=false; 

与循环设置document.getElementByName("checkbox")[i].disabled=true; 

有啥区别么? 

上面一个设置对象为有效,下面一个失效

#14


晕,看错了,不好意思

document.getElementByName("checkbox")[i].checked=false;
是设置为不选择

document.getElementByName("checkbox")[i].disabled=true;
是设置失效

#15


checked=false;  是不选中,但还可以再选择操作
disabled=true;  是变灰了(类似只读),不能再进行选择操作

#16


如果按第一题题意,要求Y和Z的和,结果不是undefined啦,两个undefined相加,会是NaN。

就第一题进行了一下探讨,参见:
http://www.v-ec.com/dh20156/article.asp?id=143

#17


谢谢楼上所有大侠的帮忙,可以结帖了,嘎嘎!祝大家天天都有好心情!

#18


第一道: 
都为undefined
第二道:不太清楚
第三道:javascript怎样选中一个checkbox,怎样设置它无效?
 
如果你要对第二个复选框改为选中状态则:checkbox[1].checked=true;

循环设置document.getElementByName("checkbox")[i].checked=false;  //是遍历不是被选中的复选框.
与循环设置document.getElementByName("checkbox")[i].disabled=true;  //是遍历被设置为无效的复选框

#19


引用 5 楼 lawrendc 的回复:
引用 3 楼 fuyou001 的回复:
td{width100%}  表HTML元素 
.td{width100%}  //类元素 
#td{width100%}  //ID 
##td{width100%} //这个就不知道了 


楼上的大哥 y z为什么是undefined呢 
 

因为函数没有返回值 

所以得到的值就是undefined

原来是这样,被忽悠了!呵呵

#20


dddddddddddddddddddddddddddd

#21


受教了,谢谢!!!

#22


##td{width100%}
是什么意思呢?

#23


一不小心就调入陷阱了!呵呵,受教啦