`
for_dream
  • 浏览: 568757 次
社区版块
存档分类
最新评论

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");

 

分享到:
评论

相关推荐

    前端开源库-shallow-equals

    这个库尤其适用于那些性能敏感的场景,例如在React组件的shouldComponentUpdate生命周期方法中,或者在优化更新逻辑时。 浅比较(shallow equality)是指只比较对象或数组的第一层属性,而不深入到嵌套的对象或数组...

    js加密sha&base64;&md5;

    JavaScript加密技术在Web开发中扮演着重要的角色,用于保护用户数据的安全、防止数据篡改以及增强应用程序的安全性。其中,SHA(Secure Hash Algorithm)、Base64和MD5(Message-Digest Algorithm 5)是三种常见的...

    麻省理工18年春软件构造课程阅读15-相等-1

    在`Duration`类的正确实现中,`equals()`方法应比较两个`Duration`对象的`mins`和`secs`成员,以确保所有上述条件得到满足。此外,还需要考虑`hashCode()`方法,因为`equals()`和`hashCode()`通常是配套使用的,当两...

    C#/sql/javascript/整理小识

    ### C#/SQL/Javascript 整理小识 #### 一、C#与SQL:数据库连接方式及...以上内容总结了C#与SQL连接数据库的不同方式,以及C#中字符的比较方法,并简要介绍了JavaScript的基础知识点。希望这些知识点对您有所帮助。

    javascript对象比较

    总结来说,JavaScript中的对象比较涉及到值和引用的概念,以及浅层和深层比较的区别。`equals.js`文件可能是实现这种比较的一个实用工具,通过源码可以学习到如何编写自定义的深度比较函数。理解和掌握这些知识点...

    js的面向对象

    JavaScript的面向对象编程是Web开发中的核心概念,它允许我们以更加模块化和组织化的方式构建复杂...在学习过程中,阅读源码、实践编写代码以及不断探索新的应用场景,都是提升JavaScript面向对象编程能力的有效途径。

    slow-equals:慢等于 - 比较两个字符串

    慢等于 一个快速的,比较拖曳的字符...Fastest is ===,== Compare tow equal long strings: slow-equals x 6,905,069 ops/sec ±0.74% (96 runs sampled) === x 64,830,622 ops/sec ±0.98% (96 runs sampled) == x 65,

    immutable学习的一些入门总结

    Immutable.js 提供了 `.equals()` 和 `is()` 方法来进行对象值的深度比较。 **示例**: ```javascript const obj1 = { a: 1, b: 2, c: 3 }; const obj2 = { a: 1, b: 2, c: 3 }; obj1 !== obj2; // 两个不同的实例...

    华为java笔试题v2.0

    - **例题**: 若要删除表 `T` 中的重复项,正确的方法是先将去重后的数据插入到临时表 `T1` 中,再清空原表 `T`,最后将 `T1` 中的数据重新插入到 `T` 中。因此正确的选项是 `C`。 ### 3. 编程题分析 #### 3.1 质...

    java文件上传、删除、下载的通用方法总结.pdf

    在Action类中,我们需要定义一个`File`类型的属性(如`upload`)来接收上传的文件,以及`String`类型的属性(如`uploadFileName`和`uploadContentType`)来获取文件名和类型。然后在`upload()`方法中处理文件。 ```...

    jsp.rar_html 登录 jsp_html登录界面_jsp

    这可以通过在HTML中引入JavaScript代码或链接外部JS文件实现。 总结起来,这个"jsp.rar_html登录 jsp_html登录界面_jsp"项目展示了如何结合HTML和JSP创建一个简单的登录界面,并实现基本的输入验证。通过这个例子,...

    nodejs pef文档

    手册会介绍如何创建 Buffer 对象(例如 `new Buffer(size)`、`new Buffer(array)`、`new Buffer(str, [encoding])`),以及一些 Buffer 的类方法和实例方法,比如 `Buffer.isEncoding(encoding)`、`Buffer.isBuffer...

    EE14 Strings.docx

    通过本文介绍,我们深入了解了GEE中字符串的各种操作方法,包括创建、编辑、复制、查询、比较、测量长度、文档化以及展示字符串等内容。掌握这些基本操作有助于更好地利用GEE进行地理空间数据分析。希望本文能对您的...

    iswindow:检查 value 是否为 window 对象

    窗口 检查 value 是否为 window 对象...比较窗口对象时使用duck 类型和double equals,这是在IE8 中工作所必需的。 双等号是必要的,因为在 IE8 中: window . window === window ; // false window . document . pa

    js-object-clone:深度克隆并与ES5属性描述符和对象可扩展性支持进行比较

    对象克隆ES5的深克隆和比较概要// just for conveniencevar log = function ( ) { console . log . apply ( console , [ ] . slice . call ( arguments ) ) } ; var src = { name : 'dankogai' , lang : [ 'perl' ] ...

    javascript BigDecimal 大数运算类 单文件浓缩版

    本版中只有一个用于生产环境的文件:BigDecimal-all-last.min.js,大小为26K,如果WEB服务器打开GZIP压缩,可以减小至7K,如需完整版本请移步至:http://download.csdn.net/detail/aquaqu2009/4575230 简单用法: ...

    sesvc.exe 阿萨德

    众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk1.7 和 1.8 中具体实现稍有不同。 Base 1.7 1.7 中的数据结构图: 先来看看 1.7 中的实现。 这是 HashMap 中比较核心的几个成员变量;看看分别是...

    assertist:简单的 JavaScript 测试库

    断言者一个非常简单的 JavaScript 测试库。用法一个项目的规格可以被分组,以便与特定功能...测试输出地位这是一个玩具项目,旨在学习(如JavaScript Ninja书的秘密中所建议)。执照麻省理工学院。 请参阅LICENSE文件。

    java面试宝典

    116、JavaScript中的对象. 25 117、function的用法 26 118、对象的继承 27 119、this的用法 29 120、Array in JavaScript 29 121、jsp有哪些内置对象?作用分别是什么? 31 122、jsp有哪些动作?作用分别是什么? 31 123...

    2021-2022计算机二级等级考试试题及答案No.2628.docx

    类对象是创建实例的基础,它定义了对象的结构和行为,包括属性(类属性)和方法。类属性是属于类本身而不是类的任何特定实例的变量,通常用于存储对所有实例都通用的信息。而实例对象是根据类创建的具体对象,每个...

Global site tag (gtag.js) - Google Analytics