str.toString()html
能夠把字符串、數值、布爾值、對象轉爲字符串瀏覽器
String(str)spa
任何數值強制轉換爲字符串類型code
<!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>
其餘類型轉布爾值htm
一、數值型,除了0,其他都是轉爲true對象
二、字符串型,除了""空字符串,其他都是轉爲trueblog
三、null 和 undefined 轉爲falseip
<!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 先遞增,再運算string
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>