摘要:余數(shù)運(yùn)算符正負(fù)看第一位所以,為了得到負(fù)數(shù)的正確余數(shù)值,可以先使用絕對值函數(shù)。等同于等同于等同于等同于等同于等同于這些復(fù)合的賦值運(yùn)算符,都是先進(jìn)行指定運(yùn)算,然后將得到值返回給左邊的變量。
1.概述
2.加法運(yùn)算符
2.1基本規(guī)則
2.2對象的相加
3.余數(shù)運(yùn)算符% 正負(fù)看第一個(gè)運(yùn)算字 可以用絕對值函數(shù)
4.自增和自減運(yùn)算符++ -- ++x 2 y++1
5.數(shù)值運(yùn)算符,負(fù)數(shù)值運(yùn)算符+ - 作用是轉(zhuǎn)為數(shù)值number一樣
6.指數(shù)運(yùn)算符 232 512先算了32
7.賦值運(yùn)算符=
除了加法 其他都轉(zhuǎn)為數(shù)值在運(yùn)算
1.概述
加法運(yùn)算符:x + y
減法運(yùn)算符: x - y
乘法運(yùn)算符: x * y
除法運(yùn)算符:x / y
指數(shù)運(yùn)算符:x ** y
余數(shù)運(yùn)算符:x % y
自增運(yùn)算符:++x 或者 x++
自減運(yùn)算符:--x 或者 x--
數(shù)值運(yùn)算符: +x
負(fù)數(shù)值運(yùn)算符:-x
2.加法運(yùn)算符
加法運(yùn)算符是在運(yùn)行時(shí)決定,到底是執(zhí)行相加,還是執(zhí)行連接。也就是說,運(yùn)算子的不同,導(dǎo)致了不同的語法行為,這種現(xiàn)象稱為“重載”(overload)
由于加法運(yùn)算符存在重載,可能執(zhí)行兩種運(yùn)算,使用的時(shí)候必須很小心。
"3" + 4 + 5 // "345"
3 + 4 + "5" // "75"
上面代碼中,由于從左到右的運(yùn)算次序,字符串的位置不同會(huì)導(dǎo)致不同的結(jié)果
2.2對象的相加
運(yùn)算子是對象,必須先轉(zhuǎn)成原始類型的值,然后再相加。
對象轉(zhuǎn)成原始類型的值,規(guī)則如下。
首先,自動(dòng)調(diào)用對象的valueOf方法。
var obj = { p: 1 };
obj.valueOf() // { p: 1 }
一般來說,對象的valueOf方法總是返回對象自身,這時(shí)再自動(dòng)調(diào)用對象的toString方法,將其轉(zhuǎn)為字符串。
var obj = { p: 1 };
obj.valueOf().toString() // "[object Object]"
對象的toString方法默認(rèn)返回[object Object],所以就得到了最前面那個(gè)例子的結(jié)果。
知道了這個(gè)規(guī)則以后,就可以自己定義valueOf方法或toString方法,得到想要的結(jié)果。
var obj = {
valueOf: function () {
return 1;
}
};
obj + 2 // 3
這里有一個(gè)特例,如果運(yùn)算子是一個(gè)Date對象的實(shí)例,那么會(huì)優(yōu)先執(zhí)行toString方法。
var obj = new Date();
obj.valueOf = function () { return 1 };
obj.toString = function () { return "hello" };
obj + 2 // "hello2"
3.余數(shù)運(yùn)算符% 正負(fù)看第一位
所以,為了得到負(fù)數(shù)的正確余數(shù)值,可以先使用絕對值函數(shù)。
// 錯(cuò)誤的寫法
function isOdd(n) {
return n % 2 === 1;
}
isOdd(-5) // false
isOdd(-4) // false
// 正確的寫法
function isOdd(n) {
return Math.abs(n % 2) === 1;
}
isOdd(-5) // true
isOdd(-4) // false
4.自增和自減運(yùn)算符++ -- ++x 2 y++1
5.數(shù)值運(yùn)算符,負(fù)數(shù)值運(yùn)算符+ - 作用是轉(zhuǎn)為數(shù)值number一樣
數(shù)值運(yùn)算符的作用在于可以將任何值轉(zhuǎn)為數(shù)值
+true // 1
+[] // 0
+{} // NaN
var x = 1;
-x // -1
-(-x) // 1
6.指數(shù)運(yùn)算符 232 512先算了32
7.賦值運(yùn)算符=
// 等同于 x = x + y
x += y
// 等同于 x = x - y
x -= y
// 等同于 x = x * y
x *= y
// 等同于 x = x / y
x /= y
// 等同于 x = x % y
x %= y
// 等同于 x = x ** y
x **= y
下面是與位運(yùn)算符的結(jié)合(關(guān)于位運(yùn)算符,請見后文的介紹)。
// 等同于 x = x >> y
x >>= y
// 等同于 x = x << y
x <<= y
// 等同于 x = x >>> y
x >>>= y
// 等同于 x = x & y
x &= y
// 等同于 x = x | y
x |= y
// 等同于 x = x ^ y
x ^= y
這些復(fù)合的賦值運(yùn)算符,都是先進(jìn)行指定運(yùn)算,然后將得到值返回給左邊的變量。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/106046.html
摘要:作為一個(gè)北漂族,夢寐以求的就是在北京擁有自己的一套房子,當(dāng)然放假大家可想而知。 數(shù)值運(yùn)算 只要你讀過小學(xué)肯定多多稍稍聽過數(shù)值運(yùn)算的概念,白話講就是算術(shù),那么計(jì)算機(jī)會(huì)算術(shù)早已家喻戶曉了,Python進(jìn)行算術(shù)也是非常簡單的,我們通過輸入以下數(shù)值運(yùn)算就可以算出對應(yīng)結(jié)果[命令行操作]: >>> 1 + 1 # 加法運(yùn)算;結(jié)果為: 2 >>> 10 - 10 # 減法運(yùn)算;結(jié)果為...
Python內(nèi)置了整數(shù)、復(fù)數(shù)、浮點(diǎn)數(shù)三種數(shù)字類型。 整數(shù) 整數(shù)是沒有小數(shù)部分的數(shù)值,與數(shù)學(xué)上的一樣: >>> 1 1 >>> -1 -1 整數(shù)沒有大小限制,只要你的內(nèi)存足夠大,就可以創(chuàng)建任意大小的整數(shù): >>> 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
摘要:浮點(diǎn)數(shù)運(yùn)算余數(shù)運(yùn)算符還可以用于浮點(diǎn)數(shù)的運(yùn)算。這些語言中的冪運(yùn)算符有著比其他的單目運(yùn)算符如一元或一元更高的優(yōu)先級。但是作為例外,在中,運(yùn)算符被設(shè)計(jì)為比單目運(yùn)算符優(yōu)先級更低。 一、算術(shù)運(yùn)算符 運(yùn)算符 描述 例子 x 運(yùn)算結(jié)果 y 運(yùn)算結(jié)果 + 加法 x=y+2 7 5 - 減法 x=y-2 3 5 * 乘法 x=y*2 10 5 / 除法 x=y/2 2.5 5 ...
摘要:除法大前端數(shù)字類型與字符串除法運(yùn)算,同樣會(huì)先將字符串轉(zhuǎn)為數(shù)字類型再做算術(shù)運(yùn)算,同樣與布爾類型做算術(shù)運(yùn)算,也是先把布爾類型轉(zhuǎn)換為數(shù)字類型再做算術(shù)運(yùn)算,但是遇到字符串里包含有英文或者中文將會(huì)得到結(jié)果。 算數(shù)運(yùn)算符 包含+、-、*、/、%,下面通過代碼示例來給大家進(jìn)行演示一下;加法: var num=100; var str1=大前端; var str2=300; var boo=true;...
摘要:位置的使用運(yùn)算符后置時(shí),先使用變量原有值參與運(yùn)算操作,運(yùn)算操作完成后,變量的值自增或者自減,運(yùn)算符前置時(shí),先將變量的值自增或者自減,然后使用更新后的新值參與運(yùn)算操作。 1.JRE:是Java語言的運(yùn)行環(huán)境,它包含了Java虛擬機(jī),也就是JVM,同時(shí)還包含了Java語言運(yùn)行需要的核心類庫。對于這個(gè)類庫,大家先理解為資料庫就行,后面學(xué)完面向?qū)ο?,你就明白了。JDK:是Java語言的開發(fā)工具...
閱讀 1413·2021-09-22 10:02
閱讀 1992·2021-09-08 09:35
閱讀 4097·2021-08-12 13:29
閱讀 2639·2019-08-30 15:55
閱讀 2289·2019-08-30 15:53
閱讀 2330·2019-08-29 17:13
閱讀 2786·2019-08-29 16:31
閱讀 2978·2019-08-29 12:24