当一个变量在没有定义的时候直接对它进行赋值
1.不会报错,
2.在它这行运行以前的任何位置试图以其他方式去引用它,都会出错,而在它以后的是不会出错的
一
数据为无限用函数isFinite()
iNum = Number.MAX_VALUE * 1.1;
document.write('iNum = ' + iNum + '<br>');
document.write('iNum == Number.POSITIVE_INFINITY = ' + (iNum == Number.POSITIVE_INFINITY) + '<br>');
document.write('isFinite(iNum) = ' + isFinite(iNum) + '<br>');
输出
iNum = Infinity
iNum == Number.POSITIVE_INFINITY = true
isFinite(iNum) = false
二
iNum = NaN;//not a number
document.write('iNum = ' + iNum + '<br>');
document.write('(iNum == NaN) = ' + (iNum == NaN) + '<br>');//NaN换成iNum结果一样。
document.write('isNaN(iNum) = ' + isNaN(iNum) + '<br>');
输出
iNum = NaN
(iNum == NaN) = false
isNaN(iNum) = true
三
字符串
var sToken = 'hello world';
document.write('sToken = ' + sToken + '<br>');
var ilength = sToken.indexOf('o');//定位
document.write('charAt = ' + sToken.charAt(ilength) + '<br>');
document.write('substring = ' + sToken.substring(0, ilength + 1) + '<br>');//截字符串
var sToken1 = sToken.concat('abc ', 'asd ', 'web ');//多个字符串
document.write('sToken1.length = ' + sToken1.length + '<br>');
sToken = 'abc asd web';
var iStart = sToken.indexOf(' '), iEnd;
if(iStart != -1){
iEnd = sToken.indexOf(' ', iStart + 1);
if(iEnd != -1){
document.write('substring = ' + sToken.substring(iStart + 1, iEnd) + '<br>');
}
}//截字符串
输出
sToken = hello world
charAt = o
substring = hello
sToken1.length = 23
substring = asd
document.write('(undefined == undefined) ' + (undefined == undefined) + '<br>');
document.write('(null == null) ' + (null == null) + '<br>');
document.write('(undefined == null) ' + (undefined == null) + '<br>');
输出
(undefined == undefined) true
(null == null) true
(undefined == null) true
typeof确定变量类型