易截截图软件、单文件、免安装、纯绿色、仅160KB

关于(javascript) "if"关键字的一个疑惑的地方

一直以来对if(obj)的用法有点疑惑,不知道如果obj是一个对象的时候(而不是简单的true/false),该怎么执行。在什么情况下该为true,什么情况下又该为false.
通过下面的小测试,了解到,当obj="",obj=undefined,obj=null,obj=NaN 的时候返回false,obj不为空的时候则返回true。
 
 
var obj ;//undefined
if(obj)alert('0:init');
 
obj = "";//\0
if(!obj)alert('1:\"\"');
 
obj = undefined;//undefined
if(!obj)alert('2:undefined');
 
obj = null;
if(!obj)alert("3:null");
 
obj = false ;
if(!obj)alert("4:false");
 
obj = true ;
if(!obj)alert("5:true");
 
obj = "string";
if(!obj)alert("6:string");
obj = NaN;
if(!obj)alert("7:NaN");
 
执行的结果:
 
1:""
2:undefined
3:null
4:fasel
7:NaN 
当用var 定义一个变量的时候,如果不初始化,则默认值是undefined。


相关文档:

Javascript跨域访问解决方案【转帖】

由于安全方面的考虑,Javascript被限制了跨域访问的能力,但是有时候我们希望能够做一些合理的跨域访问的事情,那么怎么办呢?
这里分两类情况:
一、基于同一父域的子域之间页面的访问;参见如下3个domain域:taobao.com、jipiao.taobao.com、promotion.taobao.com;它们有相同的父域taobao.com。
二、基于不同父域页面 ......

javascript 限制只能输入数字

  <input type=text onkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">
<asp:TextBox ID="TextBox1" runat="server" onkeyu ......

如何在Java 代码中执行 JavaScript

 在实际应用中,可能会碰到这样的情况,需要在Java代码中执行JavaScript。
 例如:
  import java.io.IOException;
import java.io.PrintWriter;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public cl ......

Javascript 刷新框架及页面的方法总集

 先来看一个简单的例子:
下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。
frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> frame < ......

javascript typeof的用法

 
经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组.
if(document.mylist.length != "undefined" ) {} 这个用法有误.
正确的是 if( typeof(document.mylist.length) != "undefined" ) {}
或 if( !isNaN(document.mylist.length) ) {}
typeof ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号