亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

JavaScript 運算符

JavaScript?運算符

運算符 = 用于賦值。

運算符 + 用于加值。

運算符 = 用于給 JavaScript 變量賦值。

算術(shù)運算符 + 用于把值加起來。

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8">  
</head>
<body>
<p>點擊按鈕計算 x 的值.</p>
<p>y=3,z=7</p>
<p>x=y+z</p>
<button onclick="myFunction()">點擊這里</button>
<p id="demo"></p>
<script>
function myFunction()
{
y=3;
z=7;
x=y+z;
document.getElementById("demo").innerHTML=x;
}
</script>
</body>
</html>

JavaScript 算術(shù)運算符

QQ圖片20161025103054.png

注意事項:

算數(shù)操作符

?除了加號(+)之外,如果操作數(shù)不是Number類型,會自動先調(diào)用Number()將其轉(zhuǎn)換為Number類型再進(jìn)行計算。?除號(/)和取模(%)并不會區(qū)分整數(shù)和浮點數(shù),都會自動轉(zhuǎn)化為浮點數(shù),比如 9 / 2 = 4.5 而不是4,5.3 % 3 = 2.3 而不是2。?任意運算,只要操作數(shù)含NaN,結(jié)果就是NaN。但并不是結(jié)果為NaN就一定有一個操作數(shù)為NaN,比如0/0也返回NaN。

?字符串操作符

字符串連接符號(+)相當(dāng)于concat()函數(shù),會將操作數(shù)據(jù)轉(zhuǎn)化為字符串,再連接。在字符串和數(shù)值型進(jìn)行+號運算時,會將數(shù)值型轉(zhuǎn)為字符串。

布爾操作符

?&&邏輯與常被應(yīng)用判斷一個變量或?qū)傩允欠裼卸x,例如:

if(object && object.name && object.name = 'name'){ ? ?//這里會首先判斷object存在,不存在的話就不會解析object.name從而阻止錯誤的發(fā)生,同樣,也只有object.name存在,才會去比較這個值。}
? ||邏輯或常被應(yīng)用提供默認(rèn)值的情況,和?問號操作符類似。例如
function Fn(obj){
  obj = obj || {};//這里如果調(diào)用Fn未傳入obj,則會自動給obj賦值為undefined,然后因為undefined的相應(yīng)Boolean值為false,//所以會將一個空對象{}賦值給obj,如果調(diào)用傳入了obj,則因為任意對象的Boolean值為true,//所以就不會取后面的{},從而達(dá)到給obj一個默認(rèn)值{}的效果。}

一元操作符

前置自增(減)會先自增(減)再參與其它運算,后置先參與其它運算再自增(減)。

對于不是Number類型的值進(jìn)行自增自減時會先將其隱式轉(zhuǎn)換為Number類型,然后再自增(減)。

關(guān)系比較操作符

比較雙方都為字符串時,則會從前往后逐個比較字符編碼值,只要有較大者就終止比較,不會往后進(jìn)行。?比較雙方有一個Number類型,則會將非Number類型數(shù)據(jù)轉(zhuǎn)為Number類型值再比較。

操作符是對象時,調(diào)用valueOf()(如果沒有,就調(diào)用toString()),再將結(jié)果進(jìn)行比較。?任何數(shù)和NaN比較都會返回false.

?對象操作符

?通過[]可以訪問名稱是一個變量或含有特殊字符的屬性,名稱為普通確定值時用.點號訪問對象屬性。

new 調(diào)用構(gòu)造函數(shù)創(chuàng)建一個對象,在構(gòu)造函數(shù)內(nèi)部的this被指向這個新創(chuàng)建的對象。

delete,刪除變量或?qū)傩裕ㄗ兞靠梢钥闯墒侨謱ο蠡驁?zhí)行環(huán)境的一個屬性)

其它操作符

typeof是一個操作符,而不是函數(shù),返回一個字符串值,(有些會根據(jù)瀏覽器極其版本不同而略有不同)

typeof一般用來判斷簡單數(shù)據(jù)類型,如果是對象類型,因為大部分返回的都是object,實際一般不會使用;

而instanceof的判斷也需要滿足同一個上下文的條件,否則也會出錯,

常用方式:

使用一元加號+直接隱式轉(zhuǎn)換為Number類型。? 例如:console.info(+true);? //1,一元操作符,轉(zhuǎn)換為數(shù)值1

使用加空字符串可直接隱式轉(zhuǎn)為String類型。???? 例如:console.info(''+true);? //true,隱式轉(zhuǎn)換為字符串'true'

使用雙重邏輯非!!隱式轉(zhuǎn)換為Boolean類型。????? 例如:var a='a’;?? console.info(!!a);?? //true? 兩次取反,將其隱式轉(zhuǎn)換為boolean類型

使用邏輯與&&來檢測對象或其屬性是否存在并進(jìn)行后續(xù)操作。?? 例如:object && object.name && object.name = 'name';

使用邏輯或||來給函數(shù)參數(shù)提供默認(rèn)值,也常用?問號條件操作符提供默認(rèn)值。? 例如:? obj = obj || {};

使用花括號{}來定義對象字面量,JSON數(shù)據(jù)格式和代碼塊。?? 例如: var obj = {};

使用中括號[]來定義數(shù)組字面量,JSON數(shù)據(jù)格式,訪問數(shù)組,訪問名稱是變量或特殊字符的屬性。? 例如: obj[this.index]

按位運算可應(yīng)用一些場所:如不使用中間變量直接交換兩個數(shù)值、判斷奇數(shù)和偶數(shù)、MD5加密等等。

QQ圖片20161025103200.png

對字符串和數(shù)字進(jìn)行加法運算

兩個數(shù)字相加,返回數(shù)字相加的和,如果數(shù)字與字符串相加,返回字符串,如下實例:

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8">  
</head>
<body>
<p>點擊按鈕創(chuàng)建及增加字符串變量。</p>
<button onclick="myFunction()">點擊這里</button>
<p id="demo"></p>
<script>
function myFunction()
{
var x=5+5;
var y="5"+5;
var z="Hello"+5;
var demoP=document.getElementById("demo");
demoP.innerHTML=x + "<br>" + y + "<br>" + z;
}
</script>
</body>
</html>

規(guī)則:如果把數(shù)字與字符串相加,結(jié)果將成為字符串!

繼續(xù)學(xué)習(xí)
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>點擊按鈕計算 x 的值.</p> <p>y=3,z=7</p> <p>x=y+z</p> <button onclick="myFunction()">點擊這里</button> <p id="demo"></p> <script> function myFunction() { y=3; z=7; x=y+z; document.getElementById("demo").innerHTML=x; } </script> </body> </html>
提交重置代碼