js中的小點點

2021-09-26 01:25:12 字數 4619 閱讀 6819

算術運算子

運算子是加號

算術運算子的優先順序

比較運算子

等於、不等於、絕對等於(```===```)和絕對不等於(```!==```)

!. 當訪問物件的屬性時:如果該屬性不存在時,則訪問結果為:undefined

2. 當訪問物件的屬性時:如果該物件不存在時,則訪問結果則會出錯。

分析:

1.這裡的a雖然進行了宣告,但充其量是乙個原始類性的資料,而原始型別的變數是不可能有屬性的,因此報錯

2.輸出obj的屬性不會報錯,是因為它是乙個物件,只不過是乙個沒有任何屬性的空物件,但是物件時可以擁有屬性的,只不過是人家沒有賦值,因此結果是 undefined

商的正負與被除數和除數的正負有關

餘數的符號僅僅與被除數有關

如果被除數是正數,得到結果infinity(正無窮)

如果被除數是負數,得到結果是 - infinity (負無窮)

如果被除數為0,得到結構是nan(非數)

isfinite函式,用來判斷乙個資料是否有限

isfinite(1.3); 	//true

isfinite(infinity); //false

isfinite(-infinity); //false

isfinite(0/0); //false

isfinite(nan); //false

常見算術運算子: 加、減、乘、除、取餘、求模、自增、自減

boolean: true --> 1; false–>0

string : 如果字串內部是數字,則轉換為數字;如果看起來不是數字(1.2.2.2或23ass)則轉換成nan

如果字串是空字串(即沒有任何內容)則轉換數字型別為0;如果字串裡面即使有空格

也會忽略前後的空格最終轉為0;

eg

+"" ---> 0;

+" " ---> 0;

注意1:對於infinity也是一種數字的書寫方式,因此轉換的時候結果不為nan

+infinity ---> +infinity

-infinity--> -infinity

4.注意2:nan雖然是數字型別,但是它和任何數進行運算,結果都是nan

5.注意:

+null --> 0;

-null --> -0

underfined --->nan

6.物件:首先將物件轉換為字串型別,然後在將該字串轉換為數字型別(object—>nan)

注意:{} * 5 --->會報錯,這裡可能會把{}當做**塊

({})* 5-->nan;或者({} * 5)-->nan; 這裡是加上了()是得{}變成了表示式

1.加號兩邊都是字串:則加號則為拼接功能

2.加號兩邊只有乙個是字串:則會將非字串的那一邊轉換成字串,然後在進行拼接

注意:當兩邊是進行算術運算時,不進行拼接

null + null ---> 0;

null + 'null' --> "nullnull"

3.加號兩邊都沒有字串但是有一邊為物件,則會將物件轉換為字串[object object];然後在進行

({} +12) -->"[object object]12"

算術運算子的優先順序大於比較運算子

自增、自減乘法、除法、取餘(%)加法、減法

優先順序運算的細節

1.從左到右依次檢視

2.如果遇到運算元則將資料直接取出

.3.如果遇到兩個相鄰的運算子,並且左邊的運算子的優先順序大於等於右邊的運算子的優先順序,那麼直接執行左邊的運算子

注:由於自增、自減是作用到變數上,因此他們的資料是不可以直接拿出來,當比較相鄰的操作符的優先順序在進行取值

console.

log(""+

3%2)

;// '1'

console.

log(+""

+3%2

); + 3 % 2); ---> 1

console.

log(++

"");// console.log(nan + "");---> 'nan'

console.

log(

null

/null);

// nan

var a;

console.

log(a +

+123);

// console.log(undefined + [object object] + 123); --->undefined[object object]123

console.

log(1+

""+1+

2);// console.log('1' + 1 + 2); --->'112'

console.

log(

*null);

// console.log(nan * null);--->nan

console.

log(+""

+100);

+ 100); -->100

1.如果{}前後沒有字串,物件轉換為字串[object object]

2.數**算中物件的轉換:首先將物件轉換為字串型別,然後在將該字串轉換為數字型別(object—>nan)

常用比較運算子如下

console.

log(

'11'

>

'2')

;//true 因為'1'的字元編碼》'2'的字元編碼

console.

log(

'11'

>

'12');

//true

console.

log(

'11'

>

'1')

;//true 由於第一位都是'1',因詞比較第二位,後面沒有第二位預設為0,而'1'的字元編碼為49。49>1

注:

1.nan與任何數字比較都為false

2.infinity比任何數都大

3.-infinity比任何數都小

注:目前將物件轉換為原始型別後,是字串"[object object]"

console.

log(

null

>-1

);//兩個都是原始型別; 0 > -1 true

console.

log(undefined >-1

)//都為原始型別 ; nan > -1 false

細節:

1.兩端資料型別相等:原始值比較的是裡面的資料;引用值比較的是裡面的位址

2.兩端資料型別不等:

(1): null 和 unfefined,他們之間相等;但是和其他原始型別比較則不等

(2)除了null 和undefined的其他原始型別,比較是則先轉換為數字在進行比較

(3)nan與任何數字比較都為false

(4)infinity 和 -infinity只能與自身相等

(5)物件比較:兩端都是物件比較的是位址;只有一端為物件,先講物件轉換為原始型別[object object]在進行比較

console.

log(

null

>=0)

;//兩個都是原始型別; 0 >= 0 true

console.

log(

null==0

);// false

console.

log(

'1'==

true);

// 1= 1 true

console.

log(1==

true);

//1=1 true

console.

log(2==

true);

//1 == 2 false

console.

log((==

1));

// [object object] == 1 ---> nan == 1 false

console.

log(

nan===

nan)

;//false

console.

log(

null

=== undefined)

;//false

console.

log(

null

== undefined)

;//true

資料庫小點點

0.1.oracle語法查詢 裝了oracle之後,在 oracle ora92 安裝的主目錄 jdbc lib下面的 classes12.jar 或者 classes12.zip裡面這個是9i的,還有10g 也在同樣的目錄下。比如我的10g的 f oracle product 10.2.0 db ...

VC 技術小點點

1 關於巨集定義 code 1 巨集定義 當巨集定義多於一行時,每行須以乙個 結束,必須的。2 最後乙個 後那個沒有也能編譯成功。3intmuxdebuglevel 4 define dbgprint lev,fmt 5 11 2 如何控制combo box的下拉長度 1.首先要知道兩點 一 那就是...

CSS3實現載入小點點動畫

button load keyframes change 50 75 載入 load timing function steps 一開始在使用css3的時候並沒有太注意這個timing function,只是注意到自定義貝塞爾曲線。1.第乙個引數指定了時間函式中的間隔數量 必須是正整數 這個間隔數量...