javascript权威指南 学习笔记之null和undefined

复制代码 代码如下:

<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>javascript之null和undefined</title>
</head>
<body>
<script type="text/javascript">
/**
 ******************null关键字********************
JavaScript中的关键字null是一个特殊的值,它表示“无值”。null常常被看作对象类型的一个特殊值,即代表“无对象”的值。
null是一个独一无二的值,有别于其他所有的值。如果一个变量的值为null,那么就说明它的值不是有效的对象、数组、数字、字符串
和布尔值 中的 任何一种。
当null用于布尔环境时,它被自动转换为false.当它用于一个数字环境时,它被自动转换为数字0.当它用于一个字符串环境时,它
被自动转换为"null".
*/
var $null = null;
//用于布尔环境
if($null){
document.write("当null用于布尔环境时,不转换");
}else{
document.write("当null用于布尔环境时,它被自动转换为false");//此句将被输出
}
//用于数字环境
if(0 + $null == 0){
document.write("<br/>当null用于数字环境时,它被自动转换为0");//此句将被输出
}else{
   document.write("<br/>当null用于数字环境时,不转换"); 
}
//用于字符串环境
document.write("<br/>用于字符串环境:"+$null);//null
//null的typeof:object
document.write("<br/>$null的数据类型为:"+typeof $null);//object
/**
*****************undefined******************
undefined是一个特殊的值,它不是javascript中的关键字。以下几种情况需要注意:
1.使用了已经声明但还没有赋值的变量时
2.使用了一个并不存在的对象属性时
以上二种情况,返回的都是undefined这个值。undefined值不同于null.
当未定义的值用于布尔环境时,它会自动转换为false;
当它用于一个数字环境时,它会自动转换为NaN;(NaN的解释:NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
当它用于一个字符串环境时,它会自动转换为"undefined";
*/
var $aaa;//声明了,但没有初始化。
var $bbb = "测试";//声明了,并且初始化了。
var $obj = new Object();
document.write("<br/>$aaa的类型:"+typeof $aaa+"、$aaa的值:"+$aaa);//undefined、undefined
document.write("<br/>$bbb的类型:"+typeof $bbb+"、$bbb的值:"+$bbb);//string、测试
document.write("<br/>$obj的一个不存在的属性myProp的类型:"+typeof $obj.myProp+"、$obj.myProp的值:"+$obj.myProp);//undefined、undefined
//document.write("<br/>输出一个并未声明的变量的值:"+$abc);//运行错误
/**
undefined 与 null的联系
虽然undefined和null值不同,但是==运算符却将两者看作相等。
var obj = new Objec();
obj.prop == null //返回true
如果要严格区分undefiend和null,则需要用到====运算符或者typeof
var obj = new Objec();
obj.prop === null //返回false
typeof obj.prop //输出undefined
typeof null //输出object
*/
</script>
</body>
</html>

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
1:把数字转换为字符串的方法 复制代码 代码如下: var string_value = String(number); string_value = number.toString(); var n = 17; binary_string = n.toString(2); //Evaluates to "10001" octal_string = "0" + n.toString(8); //Evaluates to "021" hex_string = "0x" + n.toString(16); /
New Document '); window.onload = function () { document.getElementById('loadbox').style.display="none"; document.getElementById('imglist').style.display="block"; } // -- 欧文加油! [Ctrl+A 全选 注: 如需引入外部Js需刷新才能执行 ]
在web开发中我们一般都会不可避免的使用js。我们可以将js代码直接放在页面中即通过内部使用js。但是为了给页面良好的"瘦身"我们一般都会将js代码放在外部,然后通过src引用。这个时候我们就需要注意一个问题:编码问题。如果web页面也js采用不同编码,这个时候就会出现乱码。(内部使用js不需要注意编码问题,因为他们采用的是同一种编码) 对于大多数的web页面,我们一般都是使用如下两种编码:UTF-8、GB2312。所以我们只需要同意页面和js编码就可以解决乱码问题: 对于GBK页面引用编码为UTF-8编码
假如是14话,用户录入前就用14暗示用户可以输入14个字符),当用户开始输入数据时,就把*依次替换掉,录入几个字符就替换掉几个*,录入完后文本框中就只有用户输入的信息了。就这么一个功能,还是折磨了我好一会,哎,JS水平还是太菜了,于是发帖求助,后来在CSDN网友huangwenquan123的热情相助下,才算把这个问题搞定了,现在直接贴出代码,希望对有这方面需要的朋友有所帮助: 复制代码 代码如下: script type="text/javascript" src="http://demo.jb51.ne
我们知道,在js中,字符串连接是性能最低的操作之一。 例如: 复制代码 代码如下: var text="Hello"; text+=" World!"; 早期浏览器没有对这种运算进行优化。 由于字符串是不可变的,这意味着要创建中间字符串来存储连接的结果。频繁地在后台创建和销毁字符串导制性能异常低下。 因此,可以利用数组对象进行优化。 例如: var buffer=[],i=0; buffer[i++]="Hello"; //通过相应索引值添加元素比push方法快 buffer[i++]=" World!"
测试例子: 复制代码 代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html head meta http-equiv="Content-Type" content="text/html; charset=utf-8"/ title/title style type="text/css" *{ margi

javascript 快速排序函数代码 - 2015-04-03 09:04:06

核心代码: 复制代码 代码如下: function quickSort(arr){ //如果数组只有一个数,就直接返回; if(arr.length1){ return arr; } //找到中间的那个数的索引值;如果是浮点数,就向下取整 var centerIndex = Math.floor(arr.length/2); //根据这个中间的数的索引值,找到这个数的值; var centerNum = arr.splice(centerIndex,1); //存放左边的数 var arrLeft = []
第一种: 在已经打开的一个普通网页上,点击“全屏显示”,然后进入该网页对应的全屏模式。方法为:在网页的body与/body之间加入以下代码: 复制代码 代码如下: form input type="BUTTON" name="FullScreen" value="全屏显示" onClick="window.open(document.location, 'big', 'fullscreen=yes')" /form 如果全屏显示的不是本页,则只需要把document.location换为对应的网址即可,即如

jquery实现的导航固定效果 - 2015-04-03 09:04:06

jquery实现的导航固定效果 复制代码 代码如下: 1.jquery代码, .nav为导航的class $(function(){ $(window).scroll(function() { if($(window).scrollTop()=250){ $(".nav").addClass("fixedNav"); }else{ $(".nav").removeClass("fixedNav"); } }); }); 2.CSS代码 .fixedNav{ position:fixed; top:0px;
demo01.html 复制代码 代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8"