JavaScript的語法、數據類型、基本算數和邏輯運算操做

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>
相關文章
相關標籤/搜索