01javascript基础

1.javascript语法体系

1)EMCA基础语法(统一)

2)BOM编程(不统一)

3)DOM编程(不统一)

1.1 javascript使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>javascript基础</title>
    <script>
        /*
    javascript的使用方法:
        1)内部javacript:
            a)在html页面中使用<script>标签,在<script>标签体中写js内容
            b)弊端:和html代码混杂在一起,不好维护,不好重用

        2)外部javascript(推荐使用)
    */
        /*
    常用的函数:
        alert("提示框");
        document.write("向浏览器输出内容");
    */
        // alert("提示框");
        // document.write("输出内容");
    </script>
<!-- 导入外部js文件
    注意: 不能使用<script src="01.j/s"> 空标签方式导入
 -->
<script src="01.js"></script>
    
</head>
<body>

</body>
</html>
document.write("输出内容");

1.2 变量和数据类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变量和数据类型</title>
    <script type="text/javascript">
        /*
    1)定义和赋值变量: var 变量名=值;
        注意:
            1)使用var关键词定义变量,var可以省略的,但是不建议省略var
            2) 在js中可以重复定义变量,后面定义的变量会覆盖前面的变量。
            3) js是弱类型语言,使用var来定义任何数据类型
            4)js中变量的类型是由变量的值决定的,所以只定义不赋值的变量,就是一个未赋值变量(undefined),未赋值的变量不能使用

        typeof(变量): 查看变量的数据类型

    2)js的数据类型分类:
        a)number: 无论整数还是小数,都是number类型
        b) string:  无论字符还是字符串,都是string类型
        c) boolean
        d) object  对象类型
    */
        a = 10;
        document.write('a的值为:' + a + ' 类型为: ' + typeof(a) + '<br/>');
        b = 3.14;
        document.write('b的值为:' + b + ' 类型为: ' + typeof(b) + '<br/>');
        c = 'hello';
        document.write('c的值为:' + c + ' 类型为: ' + typeof(c) + '<br/>');
        d = true;
        document.write('d的值为:' + d + '<br/>');
        e = new Object();
        document.write('e的值为:' + e+' 类型为: ' + typeof(e) );
    </script>
</head>

<body>

</body>
</html>

1.3 类型转换函数

string->number(整数) :  parserInt(变量)

string->number(小数):  parserFloat(变量)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>类型转换函数</title>
    <script type="text/javascript">
        /*
    string->整数: parseInt(变量)
    注意:
        1)使用parseInt函数转换时,转换的内容中的第一个是数值类型,就可以继续转换,直到遇到非数组类型为止。


    string->小数: parseFloat(变量)

    */
        a = "10";
        a = "10a";
        document.write("a的类型是(转换前):" + typeof(a) + "<br/>");
        //转换
        a = parseInt(a);
        document.write("a的类型是(转换后):" + typeof(a) + ",值为:" + a + "<br/>");

        b = "3.14";
        b = parseFloat(b);
        document.write("b的类型是(转换后):" + typeof(b) + ",值为:" + b + "<br/>");
        
    </script>
</head>
<body>

</body>
</html>

1.4 运算符

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>运算符</title>
    <script type="text/javascript">
        /*
        1)算术运算符: + - * /  %
        2)比较运算符: > <  >=  <= ==
        3)逻辑运算符: &&  ||   !
        4)三目运算符:  表达式 ? true的结果 : false的结果

        注意:
            在js中,布尔值可以用true用1来代表,false用0来代表

        */
        a = 10;
        b = false;
        document.write("结果为:" + (a / b) + "<br/>");
        document.write("结果为:" + (a + b) + "<br/>");

        a = 10;
        b = 20;
        document.write("结果为:" + (a < b) + "<br/>");

        a = 1;
        b = true;
        document.write("结果为:" + (a = b) + "<br/>");

        document.write("结果为:" + (false && true) + "<br/>");
        document.write("结果为:" + (false || true) + "<br/>");
        document.write("结果为:" + (!true) + "<br/>");

        age = 12;
        document.write(age >= 18 ? "成年人" : "未成年人");
    </script>
</head>
<body>

</body>
</html>

1.5 流程控制语句

if

swtich

for

扫描二维码关注公众号,回复: 6704592 查看本文章

while

do-while

for-in

with

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>流程控制语句</title>
    <script type="text/javascript">
        /*
        1,显示"*"为三角型,5行,第1行有1个"*",第2行有2个"*"……

        2,显示乘法口诀。
                1*1=1
                1*2=2 2*2=4
                ....
                1*9=9 2*9=18 ...

        */
        for (i = 1; i <= 5; i++) { //行数
            for (j = 1; j <= i; j++) { // 控制星星数
                document.write("*&nbsp;");
            }
            document.write("<br/>");
        }
        document.write("<hr/>");

        for (i = 1; i <= 9; i++) {
            for (j = 1; j <= i; j++) {
                document.write(i + "*" + j + "=" + (i * j) + "&nbsp;");
            }
            document.write("<br/>");
        }
        /*
            for-in语句:
                for(var 遍历 in  数组|对象){

                }

                作用:
                    1)遍历数组
                    2)对象
                    注意:
                        遍历对象的时候,变量是属性的名称,如果获取属性值,则 p[i];
            */
        //定义数组
        arr = [10, 20, 30, 40];

        //遍历数组
        //使用for循环
        for (i = 0; i < arr.length; i++) {
            document.write(arr[i] + ",");
        }
        document.write("<hr/>");
        //使用for-in遍历
        for (i in arr) {
            document.write(arr[i] + ",");
        }

        //定义对象
        function Person(name, age) {
            this.name = name;
            this.age = age;
        }

        //创建对象
        p = new Person("eric", 20);

        //遍历对象
        for (i in p) {
            document.write(p[i] + "<br/>");
        }

    </script>
</head>
<body>

</body>
</html>

1.6函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数</title>
    <script>
        /*
     函数定义:
         function 函数名称(形式参数列表){
             语句
         }

     调用函数:
         函数名称(实际参数列表);

         注意:
             1)js的函数使用function定义,但是形式参数列表不能使用var关键词
             2)js的函数可以有返回值,直接使用return关键词返回即可,不需要声明返回值类型
             3) js没有方法重载的概念,后面定义的函数会覆盖前面的函数。
             4)js中的形式参数和实际参数的数量可以不一致,依然可以调用。
             5)js的每个函数中都隐藏了一个叫arguments的数组,这个数组用于接收函数调用时传递过来的实际参数值。
             6)arguments数组接收完实际参数后,会逐一的依次从左到右赋值给形式参数,如果实际参数数量大于形式参数,则丢失剩下的实际参数

     */
        function add(a, b) {
            result = a + b;
            // document.write('结果为:'+result);
            return result;
        }

        s = add(10, 20);
        document.write(s);
    </script>
</head>
<body>

</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数练习</title>
    <script type="text/javascript">
    /*
    如果大月,显示“该月有31天”
    如果小月,显示“该月有30天”
    如果2月,显示“该月有28天“
    */
    function check(){
        //alert("调用");
        var month = document.getElementById("month").value; //表单输入的内容都是string类型!!
        //alert(typeof(month));
        //alert(month);

        //string和number比较,string会自动转换成number类型,再进行比较
        /*
        if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10
            || month==12){
            alert("该月有31天");
        }else if(month==4 || month==6 || month==9 || month==11){
            alert("该月有30天");
        }else if(month==2){
            alert("该月有28天");
        }else{
            alert("地球上没有这个月份");
        }
        */

        //强制转换
        month = parseInt(month);
        switch(month){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            alert("该月有31天");
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            alert("该月有30天");
            break;
        case 2:
            alert("该月有28天");
            break;
        default:
            alert("地球上没有这个月份");
        }

    }

</script>

</head>
<body>
请输入一个月份值:<input type="text" id="month"/><input type="button" value="查询" onclick="check()"/>
</body>
</html>

1.7基于对象编程

猜你喜欢

转载自www.cnblogs.com/xinmomoyan/p/11121818.html
今日推荐