str.toString() 可以把字元串、數值、布爾值、對象轉為字元串 String(str) 任何數值強制轉換為字元串類型 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> ...
str.toString()
可以把字元串、數值、布爾值、對象轉為字元串
String(str)
任何數值強制轉換為字元串類型
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var num=123; console.log(typeof num.toString());//string console.log(typeof String(num));//string </script> </body> </html>
其他類型轉布爾值
1、數值型,除了0,其餘都是轉為true
2、字元串型,除了""空字元串,其餘都是轉為true
3、null 和 undefined 轉為false
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var num; console.log(Boolean(num));//false </script> </body> </html>
在進行算數運算時,瀏覽器會嘗試隱式轉換字元串
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var num1=1; var num2="30"; console.log(num1+num2);//130 此處+為字元串拼接 console.log(typeof(num1+num2));//string console.log(num1*num2);//30 console.log(typeof(num1*num2));//number </script> </body> </html>
++num 先遞增,再運算
num++ 先運算,再遞增
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var num1=2; var num2=3; var num3=++num1+num2++; console.log(num1);//3 console.log(num2);//4 console.log(num3);//6 </script> </body> </html>
== 和 ===
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> console.log(null==undefined);//true undefined派生自null console.log(null===undefined);//false 是兩種不同的基本類型 </script> </body> </html>
三元運算符可以簡化部分if判斷的語句
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var score=85; var result=score>60?'及格':'不及格'; console.log(result);//及格 </script> </body> </html>
&&
如果都是布爾值,則所有布爾值都為true時,返回true;有一個為false則返回false
如果不都是布爾值,則:
如果第一個隱式轉換後是true,則返回第二個值;如果第二個也隱式轉換為true,則返回第三個;以此類推
如果第一個隱式轉換後是false,則返回第一個值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> console.log(15 && 'hello~');//hello~ console.log(0 && 'hello~');//0 console.log(25 && 'str' && null);//null </script> </body> </html>
||
如果都是布爾值,有一個為true,則返回true
全部都是false,則返回false;
如果不都是布爾值,則第一個數值隱式轉換為true,就返回第一個數值;否則依次往後
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> console.log(15 || 'hello~' || NaN);//15 console.log(0 || undefined);//undefined console.log('' || 'str' || null);//str </script> </body> </html>
! 取反
!! 取反再取反
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> console.log(!null);//true console.log(!!null);//false </script> </body> </html>