在javascript中,null ,undefined,0,-0,NaN,"",'' 会被转化为false。
所有其他值,包括对象数组都会转化为true。
例如:
var str='hello';
var str1;
var str2=null;
if(!str)
alert('false');
if(!str1)
alert('false');
if(!str2)
alert('false');
<!--javascript原型示例-->
<html>
<body>
<script type="text/javascript">
function employee(name,job,born)
{
this.name=name;
this.job=job;
this.born=born;
}
var bill=new employee("Bill Gates","Engineer",1985);
var bi=new employee("lucy","CEO",1991);
//向employee类添加属性salary
employee.prototype.salary=null;
//employee.salary=null; //如果写为这句,则bi对象中不会存在salary属性。
bill.salary=20000;
try{
var ii;
//console.log(ii.name);//后面语句不会执行,抛出异常无法获取(unidfined或null引用)的属性“name”
document.write(bill.salary);
for(var pt in bi){//遍历bi对象的属性
bi[pt]=bi[pt]||bill[pt];//如果bi[pt] 为null或者unidefined或者"",则bi[pt]=bill[pt];
if(bi[pt]){
console.log(bi[pt]);
}
document.write("<br />key:"+pt+"\tvalue:"+bi[pt]);
}
// throw new Error("hi ,i am a exception test;");
}catch(err){
console.error(err);
}
</script>
</body>
</html>
运行结果如下:
20000
key:name value:lucy
key:job value:CEO
key:born value:1991
key:salary value:null
javascript broswer对象结构图
form隐式指定action
javascript窗口滚动
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript">
var cont=0;
function scll(){
cont++;
//或得文档和视口的高度
var docmHeight=document.documentElement.offsetHeight;
var viewportHeight=window.innerHeight;
//然后滚动让最后一页在视口中可见
// var rt=window.scrollTo(0,docmHeight-viewportHeight);
//scrollBy()方法和scroll()和scroll()类似,但是他的参数是相对的,并在当前滚动条的偏移量上增加。
scrollBy(0,10);
console.log('滚动次数:'+cont);
setTimeout(scll,200);
}
window.οnlοad=function(){
setTimeout(scll,200);
}
</script>
<title>窗口滚动</title>
</head>
<body>
<ui id="kkk">
<li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li>
<li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li> <li class="cs">11</li>
<li class="cs">ccccc</li>
<li class="cs">xxxx</li>
<li class="cs">23</li>
<li class="cs">xxx</li>
<li class="cs">11</li>
<li class="cs">11</li>
<li class="cs">edd</li>
<li class="cs">dfdasdf</li>
<li class="cs">dfas</li>
<li class="cs">w6567</li>
<li class="cs">457</li>
<li class="cs">56870234</li>
</ui>
</body>
</html>
javascript获取对象类型
classOf: function(o, note) {
if (o === null)
return 'Null';
if (o === undefined)
return 'Undefined';
if (!note)
return Object.prototype.toString.call(o).slice(8, -1);
if (note)
return Object.prototype.toString.call(o);
}
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度