第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

有個問題,新手請教

請問兩個=是什么意思呢,和一個=有什么不同嗎?兩者的作用有什么區(qū)別呢??謝謝

正在回答

5 回答

關(guān)于等于好 JS里有 = ,==,===

純手打,請采納:

如果你剛開始學(xué)JS可能看不懂我下面說的,但是= 和 == 你肯定能看得懂。 耐著性子看完,等到學(xué)到后邊再回頭看我說的這個答案,你就會明白我說的是什么意思了。


=就是賦值,比如? a = 100。 再alert(a); 就會彈窗100了。

==是兩個變量內(nèi)容的比較,結(jié)果相同返回true,結(jié)果不同返回false。

比如:

var a = 1;

var b = 1;

if(a == b)????//????判斷a和b是否想等,如果想等執(zhí)行 alert(); 語句。

{

????alert("a等于b!");

}

但是如果你這樣寫:

if(a = b)

{

????alert("a等于b");

}

這個語法是錯誤的。? 因為 a = b? 是把a(bǔ)的值賦值給b。 但是沒有返回值。所以就無法用if語句來判斷了。


== 和 === 是比較

1、對于string,number等基礎(chǔ)類型,==和===是有區(qū)別的

1)不同類型間比較,==之比較“轉(zhuǎn)化成同一類型后的值”看“值”是否相等,===如果類型不同,其結(jié)果就是不等

例如:alert(1=="1");
??????? alert(1==="1");

第一個結(jié)果是true,第二個結(jié)果是false

2)同類型比較,直接進(jìn)行“值”比較,兩者結(jié)果一樣

例如:alert(1==1);
??????? alert(1===1);

兩個結(jié)果都是true.

2、對于Array,Object等高級類型,==和===是沒有區(qū)別的

進(jìn)行“指針地址”比較

就是他們指向的內(nèi)存里的地址值。

比如:

var a = new Array();
??????? var b = new Array();
??????? alert(a==b);????????//false
??????? alert(a===b);????//false
??????? var c = new Array();
??????? var d = c;
??????? alert(c==d);????????//true
??????? alert(c===d);????//true

a和b相比為false,是因為他們兩個是不同的對象,在內(nèi)存里分配了兩塊不同的空間,也就意味著他們的內(nèi)存地址不同,再因為高級類型的==還有===都是進(jìn)行指針地址的比較,所以都是false

d和d相比為true,是因為c在內(nèi)存里創(chuàng)建了一個對象。然后c指向了這個對象。然后d等于c,所以他倆指向的是同一個對象。 所以兩個都是true。

3、基礎(chǔ)類型與高級類型,==和===是有區(qū)別的

1)對于==,將高級轉(zhuǎn)化為基礎(chǔ)類型,進(jìn)行“值”比較

????????var a = new Array();
??????? a[0] = "測試";
??????? var b = "測試";
??????? alert(a==b);????//true
???? 把b的第一個數(shù)組內(nèi)的值拿出來轉(zhuǎn)換成基礎(chǔ)類型和b進(jìn)行比較。他倆都是字符串"測試",所以是true

2)因為類型不同,===結(jié)果為false

?var a = new Array();
??????? a[0] = "測試";
??????? var b = "測試";
??????? alert(a===b);??? //false

因為a是高級類型里的數(shù)組類型,而b是基礎(chǔ)類型里的String(字符串)類型。 所以類型不同,為false。

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

tracylovetmac1 提問者

謝謝你的回答,有幫助,明白了謝謝
2016-06-18 回復(fù) 有任何疑惑可以回復(fù)我~
#2

超神的丶喬巴 回復(fù) tracylovetmac1 提問者

最后一點有個錯誤,基礎(chǔ)類型與高級類型比較: var a = new Array(); a[0] = "測試"; var b = "測試"; 其實應(yīng)該是:alert(a[0]==b); //true 但是alert(a==b);也是為true,這是因為JS會直接把數(shù)組里的第一個值拿出來進(jìn)行比較。所以為true 如果是 a[0] = "111"; a[1] = "測試" 那么比較結(jié)果就為false了。
2016-06-18 回復(fù) 有任何疑惑可以回復(fù)我~

= 是賦值, == 是比較

0 回復(fù) 有任何疑惑可以回復(fù)我~

=一般是賦值,如int a=2;就是將數(shù)值2賦給變量a。==是判斷符號,如語句:2==3 ?判斷結(jié)果就是錯誤,返回一個真假值(true/false)(在C語言中沒有true、false。0代表false,1代表true)。希望可以解決。

0 回復(fù) 有任何疑惑可以回復(fù)我~

= 是賦值, == 才是比較

0 回復(fù) 有任何疑惑可以回復(fù)我~

一個是賦值語句中使用,兩個在if 等判斷語句(條件)中使用

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

tracylovetmac1 提問者

也就是說一個=一般用于賦值,比如var變量的賦值,而兩個=一般用在判斷語句中,是這樣理解嗎??謝謝
2016-06-18 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
JavaScript入門篇
  • 參與學(xué)習(xí)       741159    人
  • 解答問題       9865    個

JavaScript做為一名Web工程師的必備技術(shù),本教程讓您快速入門

進(jìn)入課程

有個問題,新手請教

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號