04 Javascript的数据类型 数组 函数

javascript:包含ECMAscript DOM BOM
描述了以下内容:
语法 类型 语句 关键字 保留字 运算符 对象

引入方式:

<script>
    alert(123)
</script>
//另一文件
<script src="test.js"></script>

基础规范:

    每行结束加分号
    //单行注释
    /*
        */多行注释
    变量应遵守以下某条著名规则:
    camel标记法:
        首字母小写 接下来的字母都是大写 such as
        myTestValue
    pascal标记法:
        首字母大写 接下来的字母都大写开头
        MyTestValue
    匈牙利类型标记法
        在以pascal标记法命名的变量前附加一个小写字母
        说明该变量的类型例如 i表示整数 s表示字符串
        iMyTestValue
View Code

基本数据类型:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <!--<script src="tsets.js"></script>-->

    </head>
    <body>

         <script>
    //             alert(123)


           /*  var x ;
              x=12 ;
              y=12 ;
              x=15 ;
    //         alert(x)
             console.log(x);
             console.log(y);


             var name   ="cunzhang", age=28  */

             // myFirstName="刘"
             // MyFirstName="刘"

    //      function f() {
    //          console.log(123)
    //      }

    //
    //         if (2>1){
    //
    //         }


    //         console.log(true+1);
    //         console.log(false+1);
    //
    //         if(1){
    //             alert(111)
    //         }else {
    //             alert(222)
    //         }
    //
    //
    //         var x;
    //         console.log(x);

    //         function f() {
    //             document.write("<h1>hello Yuan!</h1>")
    //         }
    //         console.log(typeof f())


             // Undefined:undefined


             //null:null  针对对象


    //        console.log("hello"+2);
    //        console.log("hello"+true);
    //        console.log(2+true);
    //        console.log(parseInt(6.9234454));

    //NAN: not a number,属于Number的一种

    //        console.log(parseInt("hello")); //NAN
    //        console.log(parseInt("123"));   //123
    //        console.log(parseInt("123abc"));//123
    //        console.log(parseInt("abc1234"));//NAN


    //typeof :区分基本数据类型

    //         console.log(typeof 123);
    //         console.log(typeof "hello");
    //         console.log(typeof true);
    //         console.log(typeof null);
    //         console.log(typeof undefined);
    //
    //         console.log(typeof [12,3,4]);    //两个object
    //         console.log(typeof {"name":"123"});

    //++i  --i i++ i--
            var i=10;
    //        i++;
    //        console.log(i)

             //  console.log(i++)
             //  console.log(++i)


    //         var n=NaN;
    //
    //         console.log(n>5) ;//
    //         console.log(n<5) ;//
    //         console.log(n==5) ;//
    //         console.log(n==NaN) ;//NAN只要参与比较,布尔值一定是false,除非!=
    //         console.log(n!=NaN) ;


    //逻辑运算符
    //          console.log("hello" && 4)
    //          if("hello" && 4){
    //
    //          }

    //          console.log(2==2);
    //          console.log("2"==2);
    //          console.log(2==="2")

    //         console.log(3>20);
    //         console.log(3>"20");
    //         console.log("3">"28")
         </script>
    </body>
    </html>
View Code

控制语句与循环:

    // if else
    // var name =  'alex'
    // if(name == 'lijie'){
    //     alert('俗气')
    // }else if(name == 'zhichao'){
    //     alert('洋气')
    // }
    // else {
    //     alert('this is alex')
    // }
    
    switch:
    
    var week = '999'
    switch (week) {
        case 'Monday':alert('周一');break;
        case 'Tuesday':alert('周2');break;
        case 3:alert('周3');break;
        case 4:alert('周4');break;
        case 5:alert('周5');break;
        case 6:alert('周6');break;
        case 7:alert('周日');break;
        default:alert('nothing');break;
    }
    
    for循环:
    for (var i=0; i<10; i++){   //初始化条件 结束条件 执行
        document.write('welcome'+i+'<br>')
    }

    var attr = [111,222,333]

    for (var i=0;i<attr.length;i++){
        document.write(i);
        document.write(attr[i]);
        document.write("<br>")
    }

    for (i in attr){
        document.write(i);
        document.write(attr[i]);
        document.write("<br>")
    }
View Code

遍历标签:

    <script>
        var eles_P = document.getElementsByTagName('p')
        console.log(else_P)

        for (var i = 0; i<eles_P.length;i++){
            console.log(i);
            console.log(eles_P[i]);
        }
    </script>
    <p>hello p1</p>
    <p>hello p2</p>
    <p>hello p3</p>
    <p>hello p4</p>
View Code

while循环:

    var x=0;
    var i =1;
    while  (i<=100){
        x+=i;
        i++;
    }
    console.log(x)
View Code

异常:

    try{
        console.log(123);
        throw Error(undefined)
    }
    catch(e){
        console.log(e)
    }
    finally{
        console.log('finally')
    }
View Code

字符串:

        //创建字符串对象两种方式
        //    var str1="hello";

        //    var str2=new String("hello2");
        //
        //    console.log(typeof str1);
        //    console.log(typeof str2);

            //字符串的属性
        //    console.log(str1.length);
        //    // 字符串的方法
        //    //编排方法
        //    console.log(str1.italics());  //      <i>hello</i>
        //    console.log(str1.bold());    //      <i>hello</i>
        //    console.log(str1.anchor());  //      <i>hello</i>
            //查询字符串索引
        //    var str="welcome to the world of JS!";
        //
        //    var str2=str.indexOf("l");
        //    var str3=str.lastIndexOf("l");
        //    alert(str2);
        //    //结果为2
        //    alert(str3);
        //    //结果为18

            // substr substring
        //    console.log(str1.substr(1,3));
        //    console.log(str1.substring(1,3));

        //    console.log(str1.slice(1,4));
        //    console.log(str1.slice(-3,-1))

    //编排方法
    //截取方法
    console.log(strl.substr(1,3))
    console.log(strl.substring(1,3))
    //str.slice()
    console.log(strl.slice(1,4))    //相当于切片 主要
    str1.replace('aa','o')
    //addstr    connect~~~
View Code

数组:

        //    //创建方式
        //    var arr1=[1,"hello",[11,2],{"name":"Yuan"}];
        //    var arr2=new Array(3);
        //    var arr3=new Array(1,"world",true,[1,2,3]);
        //
        //    console.log(typeof arr1);
        //    console.log(typeof arr2);
        //    console.log(typeof arr3);
        //
        //    // 注意: var arr4=new Array(10) 10是size
        //    console.log(arr1.length);

            //Array对象的方法
            //join方法
        //    var arr5=[1,2,3,4,"1234"];
        //    var ret=arr5.join("**");
        //    console.log(ret);
        //    console.log(typeof ret)

            //toString()
        //    var ret2=arr1.toString();
        //    console.log(ret2);
        //    console.log(typeof ret2);

            //concat()
        //        var arr5=[1,2,3];
        //        var ret3=arr5.concat([5,66]);
        //
        //        console.log(ret3);
        //        console.log(typeof ret3);
                //reverse()
        var arr = [23,45,37]
        console.log(arr.reverse())
        console.log(arr.sort())     //大小排序 比较最高位
    
        function f(a,b){
            if (a>b){
                return 1;

            }
            else if (a<b){
                return -1;
            }
            else{
                return 0;
            }
            }
            // or缩减版
            function f2(a,b){
                return a-b;
            }
            console.log(arr.sort(f2))    //若按自然数大小 需自定义函数
            //删除子数组
            //删除and插入   splice  and     tostring??

            //进出栈
            栈操作 先进先出 后进后出~~
            //push  and     pop 栈操作
        var arr = [1,2,3];
        arr.push([7,8,0]);
        console.log(arr);
        console.log(arr.length);

        console.log(arr.pop());
        console.log(arr.length);
        
            //shift     unshift     在前面插入和删除
        var arr = [4,5,6];
        arr.unshift([11,222]);
        console.log(arr)
        console.log(arr.length)
        
        arr.shift()
        console.log(arr)
        console.log(arr.length)
View Code

函数对象:。。。。。待续

猜你喜欢

转载自www.cnblogs.com/louzhiyuan/p/10663005.html