1. 程式人生 > >前端學習一JS資料型別

前端學習一JS資料型別

<!doctype html>
<html>
<head>
<title>JS資料型別</title>
<script>
    window.onload = function(){
        var str = 'aa';//string
        var num = 123;//number
        var bool = true;//boolean
        var und = undefined;//undefined
        var n = null;//object
        var arr = [];//object
        var obj = {};//object
        var fun = function(){};//function
        console.log(typeof str);

        //三大引用型別
        //1、陣列
        //第一種使用array建構函式
        var arr = new Array();
        arr[0]='a';
        var arr2 = new Array('x','y','z');
        //第二種字面量表示法
        var arr3 = ['x','y','z'];
        //2、object物件
        //第一種通過object建構函式
        var persion = new Object();
        persion.name = 'aaaa';
        persion['age'] = 18;
        persion[age] = 18;//此處age表示變數
        //第二種字面量表示法
        //簡單字面量
           var persion2 = {};
           persion2.name = 'aaaa';
           persion2['age'] = 18;
           persion.action=function(){
             console.log(this.name);//this表示當前物件persion2
           };
           //巢狀字面量
           var persion3={
               //json屬性名必須是雙引號,此處不是json
               name:'jack',
               'name1 name2':'jack',//空格,橫線等特殊字元以及保留字時加‘’
               'name1-name2':'jack',
               age:20,
               actionLfunction(){
                   console.log(this.name);
               }
           };
           //第三種工廠方式
           function createObj(){
               var obj = new Object();
               obj.name='aa';
               obj.showName = function(){
                   return this.name;
               };
               return obj;
           };
           var p = createObj();
           p.showName();
           //第四種建構函式 首字母大寫  駝峰命名
           function CreateObj2(name){
              this.name = name;
              this.showName = function(){
                  console.log(this.name);
              };
           };
           var p2 = new CreateObj2('bb');
           p2.showName();
        //3、function
        //函式宣告,該方法的使用在上面和下面都能執行
        //sum(3,3)=6;
        function sum(n1,n2){
            return n1+n2;
        };//sum(3,3)=6;
        //函式表示式,該方法的執行必須在下面
        var sum2 = function(n1,n2){
            return n1+n2;
        };//sum(3,3)=6;
        //值型別與引用型別
        var a = 10;
        var b = a;
        a=15;
        console.log(b);//10
        //引用型別
        var a = {age:20};
        var b= a;
        b.age=30;
        console.log(a.age);//30

        var arr = [1,2,3,4];
        var arr2 = arr;
        arr2[0] = 100;
        console.log(arr[0])//100;
    }
</script>
</head>
<body>
</body>
</html>