一、JavaScript有五种基本的数据类型:Undefined、null、String、Number、Boolean,这五种数据类型都可以用typeof来检测
1. Undefined类型:已经声明而未赋值的变量的值为”undefined”[实际上未声明的变量用typeof检测也会返回undefined]
2. Null类型:表示空的对象指针,相当于对象占位符,typeof返回object。如果返回为对象,却找不到这个对象时,通常会返回null
3. Boolean类型:只有两个字面值,true和false。true不一定等于1,false也不一定等于0;同时注意这两个字面值是区分大小写的,也就是说True和False都不是Boolean值。Javascript所有类型都可以通过Boolean()方法来转换成Boolean值
4. Number类型:数字的进制表示及科学计数法表示。
isFinite():判断是否为有限数值,如果是则返回true,否则返回false。
特殊数值::NaN (not a number) 即表示不是一个数字,则isNaN判断不是数字时返回true。
NaN不能用于计算alert(NaN == NaN) //返回false
可用方法:isNaN(),判断是否为”不是数字”,不是数字则返回true,是数字则返回false。
5. String类型:用单引号或双引号表示。字符串起始字符的位置为0,最后一个字符的位置为字符串长度减1。其他数据类型可以使用toString()、String()方法转换成字符串类型。
二、javascript typeof运算符
typeof操作符,返回“表达式”的数据类型的字符串。
typeof是一个操作符(非函数),所以typeof后面可以接括号[如:typeof(表达式)]也可以不接[如:typeof 表达式]
typeof返回的常见字符串:
“undefined” | 表示这个值未定义,例如: var i; |
“boolean” | 表示这个值是布尔值 |
“string” | 表示这个值是字符串 |
“number” | 表示这个值是数字 |
“object” | 表示这个值是对象或null,可理解为null是对象的占位符 |
“function” | 表示这个值是函数 |
三、JavaScript实现jQuery中的addClass()、removeClass()、hasClass()
</pre><pre name="code" class="javascript">function hasClass(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
if (!this.hasClass(ele,cls))
ele.className += " "+cls;
}
function removeClass(ele,cls) {
if (hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
//call the functions
addClass(document.getElementById(“test”), “test”);
removeClass(document.getElementById(“test”), “test”)
if(hasClass(document.getElementById(“test”), “test”)){//do something};