您的位置:首页 > Web前端 > JQuery

typeof运算符及实现jquery中的addClass,removeClass,hasClass

2014-12-09 23:39 459 查看

一、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};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: