js中的"=="和equals()以及is()方法

js中的"=="和equals()以及is()三者的区别

   一、

 

   在 javaScript或者jQuery中字符串比较没有equals()方法,要比较两个字符串是否相等可以直接用==或者is()进行判断。

 

    例如:

        

"a"=="a"  

    

$("#a").val().is("a")

  

    当然我们可以自己写一个equals()方法:

    如:

    1.

String.prototype.equals = function(s){
    return this == s;
} 

    2.

   

function equals(str1, str2)  
{  
    if(str1 == str2)  
    {  
        return true;  
    }  
    return false;  
}  

 

   二、

 

 is(expr)

  用一个表达式来检查当前选择的元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。
  如果没有元素符合,或者表达式无效,都返回'false'. 'filter' 内部实际也是在调用这个函数,所以,filter()函数原有的规则在这里也适用。

Checks the current selection against an expression and returns true, if at least one element of the selection fits the given expression.
If no element fits, or the expression is not valid, then the response will be 'false'. 'filter' is used internally, therefore all rules that apply there apply here, as well.

返回值

Boolean

参数

expr (String) :用于筛选的表达式

 

示例

由于input元素的父元素是一个表单元素,所以返回true。

HTML 代码:

<form><input type="checkbox" /></form>

 

 jQuery 代码:

$("input[type='checkbox']").parent().is("form")

 

 

结果:

  true
 
    <script language="javascript" src="jquery.js"></script>   
    <script>   
    jQuery(function($){   
        $(".abc").click(function(){   
            if ($(this).next(".content").is(":hidden")) {   
                $(this).next(".content").fadeIn("slow");   
                $(this).html("收起");   
                $(this).addClass("closeMore");   
            } else {   
                $(this).next(".content").fadeOut("slow");   
                $(this).html("打开");   
                $(this).addClass("closeMore");         
            }   
        })   
    })   
      
    </script>  
 
三、

 

  ==为js的比较运行符。

 

比较运算符

比较运算符在逻辑语句中使用,以测定变量或值是否相等。

给定 x=5,下面的表格解释了比较运算符:

运算符 描述 例子
== 等于 x==8 为 false
=== 全等(值和类型) x===5 为 true;x==="5" 为 false
!= 不等于 x!=8 为 true
> 大于 x>8 为 false
< 小于 x<8 为 true
>= 大于或等于 x>=8 为 false
<= 小于或等于 x<=8 为 true

 

 

   The 3 equal signs mean "equality without type coercion". Using the triple equals, the values must be equal in type as well.

0==false   // true
0===false  // false, because they are of a different type
1=="1"     // true, auto type coercion
1==="1"    // false, because they are of a different type

 

 

      === and !== are strict comparison operators:

JavaScript has both strict and type-converting equality comparison. For strict equality the objects being compared must have the same type and:

  • Two strings are strictly equal when they have the same sequence of characters, same length, and same characters in corresponding positions.
  • Two numbers are strictly equal when they are numerically equal (have the same number value). NaN is not equal to anything, including NaN. Positive and negative zeros are equal to one another.
  • Two Boolean operands are strictly equal if both are true or both are false.
  • Two objects are strictly equal if they refer to the same Object.
  • Null and Undefined types are == (but not ===).

另:

 

1.document.getElementById
document.getElementsByName()
document.getElementsByTagName()
注意上面的Element后在Id中是没有加“s”的,特别容易写错.

 

2.注意属性选择器的使用

jQuery('[attribute="value"]')

$('input[value="Hot Fuzz"]').next().text(" Hot Fuzz");

 

发布了5 篇原创文章 · 获赞 1 · 访问量 1614
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览