js 一個等號"=" 二個等號"==" 三個等號"===" 的區別
一個等號是賦值操作,==先轉換型別再比較,===先判斷型別,如果不是同一型別直接為false。
=== 判斷規則
如果型別不同,就[不相等]
如果兩個都是數值,並且是同一個值,那麼[相等];(!例外)的是,如果其中至少一個是NaN,那麼[不相等]。(判斷一個值是否是NaN,只能用isNaN()來判斷)
如果兩個都是字串,每個位置的字元都一樣,那麼[相等];否則[不相等]。
如果兩個值都是true,或者都是false,那麼[相等]。
如果兩個值都引用同一個物件或函式,那麼[相等];否則[不相等]。
如果兩個值都是null,或者都是undefined,那麼[相等]。
== 判斷規則:
如果兩個值型別相同,進行 === 比較。
如果兩個值型別不同,他們可能相等。根據下面規則進行型別轉換再比較:
如果一個是null、一個是undefined,那麼[相等]。
如果一個是字串,一個是數值,把字串轉換成數值再進行比較。
如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。
如果一個是物件,另一個是數值或字串,把物件轉換成基礎型別的值再比較。物件轉換成基礎型別,利用它的toString或者valueOf方法。js核 心內建類,會嘗試valueOf先於toString;例外的是Date,Date利用的是toString轉換。非js核心的物件,令說(比較麻煩,我 也不大懂)
任何其他組合,都[不相等]。
alert(0 == “”); // true
alert(0 == false); // true
alert(“” == false); // true
alert(0 === “”); // false
alert(0 === false); // false
alert(“” === false); // false
===用來進行嚴格的比較判斷
alert(1 == “1″); // true
alert(1 === “1″); // false
相關推薦
css中margin標記可以帶一個、二個、三個、四個引數,各有不同的含義
在css中使用margin可以將margin-top,margin-right,margin-bottom,margin-left,縮寫為一個標記,順序為上右下左(順時針)。帶不同的引數具有不同的含義,
嵌入式 知識積累 (二) 之 三個學習階段
嵌入式LININX開發第一學習階段,主要打好基礎,學好C程式設計,Linux系統程式設計。 1、C語言程式設計基礎 2、嵌入式開發基礎:Linux概述安裝,shell命令,vim編輯器,GCC,GDB,Makefile,交叉開發環境構建 3、嵌入式Linux系統程式設計:shell程式設
struct student 三個學生建立一個單鏈表求出三個學生c++平均成績在主函式中 struct student 三個學生建立一個單鏈表求出三個學生c++平均成績在主函式中輸入輸出學生資訊
#include<stdio.h> #include<stdlib.h> #include<conio.h> /定義結構體/ struct student { int num; float score; struct student *next; };
實驗5.1(舊),寫出一個由一個主函數和三個小函數組成的程序,該程序可以從某一字符串中刪除指定字符。
using span ring font 修改 mes out 部分 nbsp 實驗目的: 輸入一串字符,再輸入一個指定字符,將字符串中刪去指定字符再顯示出來。要求程序把輸入字符串、刪除指定字符和顯示字符串的功能分別在各自單獨的.cpp文件由外部函數來處理,主文件中
js中改變this指向的三個常用方法bind,call和apply
一.bind:說起bind,很多人都會想起jquery中的bind繫結方法,給元素繫結事件,今天所講的bind則是js的原生方法---可改變this的指向,下面我們來看演示:var name = 'sally'; function sayName(){ return
理解JS捕獲、目標、冒泡三個階段
<!DOCTYPE html> <html> <head> <title>demo</title> </head> <body> <a id="A">元素A</a> </body&
Docker 入門到實踐(二)Docker 三個基本概念
gist 系統 概念 png tag 分發 rep 創建 多層 一、Docker 的三個進本概念? 了解 Docker 的三個基本概念,就可以大致了解 Docker 的生命周期。 鏡像(Image) 容器(Container) 倉庫(Repository)
3、三個判斷-三個循環
col 三元 blog 執行 判斷 簡單的 alert fine if條件語句 一、三個判斷 // 第一種:if else,if,else, // 第二種:三元運算符(三目運算符) // 應用於簡單的if else判斷 // 第三種:switch ca
Java多執行緒-52-三個和三個以上執行緒之間的通訊
前面一篇介紹了兩個執行緒之間的通訊,那麼三個執行緒和三個以上執行緒之間的通訊是如何實現呢。我們前面一篇在查詢Object類的時候,知道有一個wait()和notify()方法,同時還有一個notifyAll()方法。這個notfiyAll(
VLOOKUP函式多條件(兩個或三個條件)查詢
到這裡就可以結束了,藉助輔助列提取到結果,如果不想用輔助列,可把上面幾步的公式合併成一個公式=VLOOKUP(A13&B13,IF({1,0},A1:A7&B1:B7,C1:C7),2,0),按ctrl+shift+回車即可。
js 一個等號"=" 二個等號"==" 三個等號"===" 的區別
一個等號是賦值操作,==先轉換型別再比較,===先判斷型別,如果不是同一型別直接為false。 === 判斷規則 如果型別不同,就[不相等] 如果兩個都是數值,並且是同一個值,那麼[相等];(!例外)的是,如果其中至少一個是NaN,那麼[不相等]。(判斷一個值是否是
JavaScript中一個等號、二個等號、 三個等號 的區別
一個等號是賦值操作,==先轉換型別再比較,===先判斷型別,如果不是同一型別直接為false。=== 判斷規則如果型別不同,就[不相等] 如果兩個都是數值,並且是同一個值,那麼[相等];(!例外)的是,如果其中至少一個是NaN,那麼[不相等]。(判斷一個值是否是NaN,只能用
js中兩個等號(==)和三個等號(===)的區別
js中兩個等號(==)和三個等號(===)的區別: 1. "=="表示:equality -> 等同 的意思,"=="使用兩個等號時,如果兩邊值的型別不同的時候,是要先先進行型別轉換後,才能做比較。 2. "==="表示:identity -> 恆等 的意思,
java中 一個等於號和兩個等於號三個等號的區別?
一個等號是賦值號,兩個等號是判斷號。賦值表示把右邊的值或引用賦給左邊的變數,判斷號表示返回符號兩邊的值是否相等,這裡的值包括引用。相等運算子"==",如果兩個運算元不是同一型別,則會先嚐試轉換型別在進行比較。嚴格相等運算子“==="首先計算其運算元的值,然後比較這兩個值,比較
JS/JavaScript中兩個等號 == 和 三個等號 === 的區別
JavaScript中兩個等號 == 和 三個等號 === 的區別 一、概念 == 和 === (1) "=="叫做相等運算子,"==="叫做嚴格運算子。 (2) ==,equalit
js ==與===區別(兩個等號與三個等號) 《轉》
== equality 等同,=== identity 恆等。 ==, 兩邊值型別不同的時候,要先進行型別轉換,再比較。 ===,不做型別轉換,型別不同的一定不等。 下面分別說明: 先說 ===,這個比較簡單。下面的規則用來判斷兩個值是否===相等: 1、如果型別不同,就[不相等] 2、如果兩個都是數值
JS實現輸出一個字符串中第一個連續的三個數字
數字 length 個數字 pri split ret () 第一個 spl 問題描述:在一個字符串中,輸出其中第一個連續的三個數字。例如:str="1234568" 輸出:1 2 3。 var printNum = function(){ var str =
js 一個兩個三個感嘆號區別
今天看到一個前輩使用了三個感嘆號來判斷值,就查了一下,綜合了幾篇文章的觀點1、一個感嘆號!可將變數轉換成boolean型別,null、undefined和空字串取反都為false,其餘都為true。!null=true !undefined=true !''=true !10
PHP擷取UTF8字串 utf-8 可以能佔一個字元 二個字元 或者三個字元
PHP擷取UTF8字串 想必很多人從一開始接觸程式設計到現在,都有一個慣性思維:英文字元佔用一個位元組,中文字元佔用兩個位元組。不錯,英文字元是佔用一個位元組,但中文字元佔用兩個位元組是相對於GBK編碼而言(當然,其他一些編碼如GB2312也是),但是在
PHP三個等號與兩個等號的區別
在PHP中兩個變數間比較相等可以使用兩個等號或者三個等號,這兩種方式有什麼區別呢? 用兩個等號時,只要比較的兩個變數的值相同,輸出true,否則輸出false。 用三個等號時,除了兩個變數的值相同外,還必須這兩個變數的型別相同,才能輸出true,否則輸出false。 例如: $v1 = "1"; $v2 =