第二题我测试不出来....
前四个都非常大,而“是文本”却比不做限制的还小<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
body p {
font-size:15px;
}
</style>
</head><body>
<font size="12px">呵呵</font>
<font size="13px">呵呵</font>
<font size="14px">呵呵</font>
<font size="15px">呵呵</font> <br />
<p style="font-size:12px">这是文本 </p>
</body>
</html>
第四题我测试出是空
前四个都非常大,而“是文本”却比不做限制的还小<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
body p {
font-size:15px;
}
</style>
</head><body>
<font size="12px">呵呵</font>
<font size="13px">呵呵</font>
<font size="14px">呵呵</font>
<font size="15px">呵呵</font> <br />
<p style="font-size:12px">这是文本 </p>
</body>
</html>
第四题我测试出是空
第六题
//定义一个Obj的类
var Obj = function(msg)
{
this.msg = msg;
this.shout = function()//匿名函数
{
alert(this.msg);
}
this.waitAndShout = function()//匿名函数
{
//隔五秒钟后执行上面的shout方法
window.setTimeout("调用this.shout,是不可能成功的",5000);
}
}
//调用
var obj=new Obj("Hello World!");
obj.waitAndShout();
个人认为是不可能调用成功的,因为5s后执行shout方法是Obj对象的一个实例的方法,5s后页面已经呈现出来,完成了一个生命周期,Obj对象的实例已经被析构掉了,所以该对象的shout方法是不能够被调用的
第六题<script>
var Obj = function(msg){
this.msg = msg;
this.shout = function(){
alert(this.msg);
} this.waitAndShout = function(){
var o = this;
setTimeout(function(){o.shout.call(o)}, 5000);
}
}var a = new Obj('xxx');
a.waitAndShout();</script>
2.应该是12px吧,在标签里定义的样式应该比head的style里定义的样式优先级高;
3.这里难道不应该是显示回车后再==0这样么测试也确实这样子,但好像没选项
4.前面的函数定义test是不是少了()如果只是考重复定义函数的话后面的优先级应该比前面定义的高,显示2这样子吧?
A null
B true
C undefined
D false 我用 Firebug 控制台输出,结果是 [换行符]==0
怎么选?
第二题,考的是CSS,style是最高的
第三题,应该是楼主打错了,我猜是: alert('\n'==0); 结果是:true
第四题,考的是对解释器的理解,很明显答案是2
第五题,意图不明,难道是考clear??
第六题,主要考的作用域,闭包,对象,还是可以实现的
var Obj = function(msg){
this.msg = msg;
this.shout = function(){
alert(this.msg);
}
this.waitAndShout = function(){
//隔五秒钟后执行上面的shout方法
var me = this;
setTimeout(function (){me.shout();},2000);
}
}
new Obj('五秒后Say Hello').waitAndShout();这是全部笔试题么?如果是的话他们对jser的要求还是蛮高的,因为比较偏1,2,5考的都是CSS,1考兼容性,不过太偏了,2考优先级,应该知道的,5考div+css布局
3是用来难为人的,我写了这么多代码,还没判断过\n==0的情况,出题人的目的应该是在考查笔试者了解js的广度,有点以偏概全
4出的还不错,属于一个jser该会的东西
6出的也不错,如果写大型的页面,懂与不懂这些写出来的代码是有很大差距的
这个是true
手册说
如果两表达式的类型不同,则试图将它们转换为字符串、数字或 Boolean 量。
但没说明哪个优先
这个谁说明一下
alert(1);
}你说这个是报错:test不存在,还是执行alert(1)呢?
估计这种代码大家都写过吧这是不是说明了一些问题呢,回过头来再想原题,是不是会清楚点
这个我来进一步说明吧对于==、!=这2个而言
以下情况认为是==的:
1、如果两表达式的类型不同,则试图将它们转换为字符串、数字或 Boolean 量。 2、NaN 与包括其本身在内的任何值都不相等。 3、负零等于正零。 4、null 与 null 和 undefined 相等。 5、相同的字符串、数值上相等的数字、相同的对象、相同的 Boolean 值或者(当类型不同时)能被强制转化为上述情况之一,均被认为是相等的。 其他比较均被认为是不相等的。然后我再解释一下“1、如果两表达式的类型不同,则试图将它们转换为字符串、数字或 Boolean 量。 ”这个的顺序其实第一点和第五点表达的差不多是一个意思,一般情况下,如果类型不同时,主要看2个不同的类型是否都可以转换为字符串或数字,如果不能转为一种的时候就都转为Boolean后再比较,如果可以转为字符串或数字,那么在这个时候就不需要分他们的顺序了,只需要如第五点说的那样,看看他们转换后是否满足这些:相同的字符串、数值上相等的数字、相同的对象、相同的 Boolean 值,如果是不相同的,不管是那一种他们结果都为false所以我们这个主要关键就是看2个不同的类型是否都可以转换为字符串或数字或对象,如果其中有一个不能转换为这2种中的任何一种,那么他们就会转为Boolean
像'\n'==0这种情况是转换为Boolean,因为\n他既不是字符串又不是数字,而0又只能转为数字,字符串和Boolean。而且这个像这种情况\n他只能转为false,
还有以下这个一样转为false
<script>
alert(this==2)
alert(this==0)
alert('\r'==2)
alert('\r'==0)
</script>
比如<script>
alert('3'+2)
alert('3'-2)
</script>
看看这2个就知道
结果就不一样
那么该程序无法运行
如果是你写错了
function test {
alert(1);
}
应该是function test(){
alert(1);
}
的话,结果是2
alert(1);
} test();
window.onload=function(){
function test(){
alert(2);
}
}
这个
和function test {
alert(1);
} test();
function test(){
alert(2);
}
这个得到的结果是不一样的
最后一题的答案,你的有bug,我改一下哈,呵呵:var Obj = function(msg) {
this.msg = msg;
this.shout = function() {
alert(this.msg);
}
this.waitAndShout = function() {
//隔五秒钟后执行上面的shout方法
var me = this;
setTimeout(function(){me.shout();me.waitAndShout();},5000);
}
}
第二题是考css的优先级,就好比id要优先于class.这个应该是12px
第三题如果没有错误的话,没有正确答案。但是我想到一个关于空值和0的问题。比如a=0;那么if(a)其实相当于if(false)或者if(null)或者if(undefined)。只有在===下,null/undefined/0 在做布尔的时候才有区别
第四题如果没有错的话,根本不能运行。如果第一个test改为test(),应该是考js后绑定的情况,所以应该输出2。