10-JavaScript基础-1

JavaScript基础

JavaScript语法

 

 script标签

 

变量与数据类型

标识符

  • 在JavaScript中,所有一切都区分大小写(比如变量名、函数名、属性名),标识符要求
  1. 第一个字符必须是字母或者_、$
  2. 其他字符可以是字母、_、$、数字
  3. ECMAScript规范为驼峰式格式:myFirstName
  4. 关键字、保留字、true、false、null不能作为标识符

变量的定义

  • JavaScript是一个弱类型语音,定义变量不需要指定数据类型,比如
    • a=3;b="10";a="abc",
    • 甚至不需要指定:var a,var称为操作符,如果变量定义的时候没有设置变量值,变量会保存一个特殊值:undefined
  • 数据类型
  1. Undefined:变量已定义,值未定义,只有一个值“undefined”
  2. Boolean:布尔值(true,false)
  3. String:字符串类型
  4. Number:数字类型,除数字值以外,还有一个特殊值:NaN,表示得到一个非数字值
  5. Object:对象类型
  6. Function:函数类型
  7. Null:空对象指针,只有一个值null
  • 可以通过内置函数typeof来检查变量的数据类型

操作符

  • 自增、自减运算符:++、--
  • 一元运算符:+、-
  • 加减运算符:+、-
  • 乘性运算符:*、/、%、**

数据类型转换

变量转换为布尔值

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
<!--         其他数据类型转换为布尔类型Boolean
        数据类型            布尔值:true      布尔值:false
        String             任何非空字符串    ""
        Number             任何非零数字        0或NaN
        Object             任何对象            null
        Undefined                         Undefined
         -->
        <script type="text/javascript">
            //Boolean("")
            string1 = ""
            string2 = " "
            
            num1 = 1
            num2 = -1
            num3 = 0
            num4 = Infinity
            num5 = NaN
            a = null
            b = new Object()
            var c
        </script>
    </body>
</html>
Boolean("")
false
Boolean(" ")
true
>>>Boolean(1)
true
>>>Boolean(-1)
true
>>>Boolean(0)
false
>>>Boolean(null)
false
>>>Boolean(NaN)
false
>>>Boolean(Infinity)
true
>>>Boolean(Object)
true
>>>var c
undefined
>>>Boolean(c)
false
>>>Boolean(undefined)
false

变量转换为数字

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
<!--         其他类型转换为数字:
        Number()、parseInt()、parseFloat()
        Number()可以转换任何类型到数字类型
        parseInt()、parseFloat()转换字符串类型为数字类型
        
        数据类型            转换结果
        Boolean         true转为1,false转为0
        Undefined         NaN
        String             "只包含数字(包括浮点数)的字符串,转换为十进制数
                        包含16进制"0x"格式的字符串,转换为十进制
                        空字符串为0
                        其他的转换为NaN"
        null             0 
        -->
        <script type="text/javascript">
            // Boolean
            // true
            // false
            // Undefined
            // var a
            // String
            string1 = ""
            string2 = " "
            
            a = "a"
            b = ".1"
            c = "10"
            d = "10.1"
            e = "a10"
            f = "10px"
            g = "10.5px5"
            h = "0x15"
            i = null
            //Object
            var o = new Object()
        </script>
    </body>
</html>
>>>Number(true)
1
>>>Number(false)
0
>>>Number(null)
0 >>>parseInt(false) NaN >>>parseInt(0) 0 >>>parseInt(2) 2 >>>parseInt(undebug) NaN >>>parseInt(undefined) NaN >>>parseFloat(true) NaN >>>parseFloat(false) NaN >>>parseFloat(undefined) NaN >>>parseFloat(null) NaN

变量转为字符串

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
<!--         其他类型转换为数字:
        String()、toString()
        String():可以转换任何类型为字符串类型
        toString():为大部分值自带的方法,转换为数字类型时,可以提供一个进制参数
        数据类型            转换结果
        Boolean         true转为"true",false转为"false"
        Undefined         "undefined"
        null值            "null" 
        -->
        <script type="text/javascript">
            // Boolean
            // true
            // false
            // Undefined
            // var a
            // Number
            c = "10"
            d = "0x11"
            e = "011"
            f = "10.1"
            g = Infinity
            h = NaN
            
            // null
            i = null
            
            //Object
            var o = new Object()
        </script>
    </body>
</html>

操作符自增自减

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            // 后置a++,a--
            a = 0
            a++
            b = a++
            // 前置++a,--a
            a = 0
            ++a
            b = ++a
            //两者区别:
            //1、前置:先求a自增值,再运算a(自增值参与运算)
            //2、后置:先自原a运算,再求a自增值(自增值不参与运算)
        </script>
    </body>
</html>

操作正负值

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            // +,-
            a = +0
            b = -0

            // 字符串
            c = -"10"
            d = "-100.1"
            e = -"0xAF"
            
        </script>
    </body>
</html>

操作符加减运算

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
<!--         运算规则:
        1、如果超出范围,返回Infinity或者-Infinity
        2、如果一个操作数是NaN,则结果还是NaN
        3、加法运算
        Infinity + Infinity 为Infinity;
        -Infinity + -Infinity 为-Infinity
        4、减法运算
        Infinity - Infinity 为NaN
        -Infinity - -Infinity 为NaN
        Infinity - -Infinity 为Infinity
        -Infinity - Infinity 为-Infinity
        +0 + +0 为+0;+0 - +0 为-0
        -0 + -0 为-0;-0 - 0 为-0;-0 - -0 为0
        +0 + -0 为0
        加法操作如果两个操作数都是字符串,则两个操作数凭拼接起来
        加法操作如果一个操作数为字符串,一个不是,则另一个先转换为字符串,在进行计算
        减法操作如果有一个操作数不是数字,那么会先转换成字数值再进行操作 
        -->
        
        
        <script type="text/javascript">
            // 数字加减
            a = 10
            b = 10
            c = a + b
            // 字符串加减
            c = "10"
            b = "100.1"
            d = "0xAF"
            //数字 + 字符串
            a = "px"
            b = 10
            c = b + a
        </script>
    </body>
</html>

操作符乘性运算

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
<!--         运算规则:
        1、数值之间按照正常计算
        如果结果超出范围,则返回Infinity或者-Infinity
        如果有一个操作数是NaN,则结果是NaN
        2、Infinity * 0 = 0
        Infinity*其他数值,结果为Infinity
        3、如果一个操作数不是数字,则会先用Number转换为数字
        0 / 0 = NaN
        任何数/0 = Infinity
        任何数/Infinity,结果为Infinity
        -->
        <script type="text/javascript">
            // 数字之间乘除运算
            a = 10
            b = 10
            c = a * b
        
            // 取模运算
            /*
            Infinity%任何数,结果为NaN
            任何数%0,结果为NaN
            Infinity%Infinity,结果为NaN
            任何数%Infinity,结果为被除数
            0%任何数,结果为0
            */
            c = "1000" % 3
            c = "1000px" % 3
            
            // 幂运算 Math.pow()
            c = a ** 2
        </script>
    </body>
</html>

 

posted @ 2021-03-23 22:05  西瓜的春天  阅读(24)  评论(0)    收藏  举报