js精要之对象属性

// 对象的应用解除 将对象变量置为null(在写插件多大型项目是不要忘记解除对象占用)

  var object1 = new Object();
    var object2 = object1;
    // 对象object2 和 object1 引用同一个对象
    object1.myCustomProperty = "Awersome!";
    object1 = null;
    console.log(object2.myCustomProperty); //Awersome!

// 创建对象

  var Name = {
        name : "boy",
        sex:"nan",
        ceshi:function(){
            console.log(Name.sex);
        }
    }
    console.log(Name.sex);

// 等价于

  var Name = new Object();
    Name.name = "boy";
    Name.sex = "nv";
    Name.ceshi = function(){
        console.log(Name.sex);
    }
    Name.ceshi();

// 创建数组

   var colors = ["red","blue","black"];
    console.log(colors[0]);

// 等价于

 var colors = new Array("red","blue","blacks");

// 创建函数

  function ref(value){
       return console.log(value);
    }
     ref(2);

// 等价于 (js调试器不会识别)

 var ref = new function("value","return value;");

// 访问属性 在 js 里面 . 和 [] 除了语法不一样其他大致相同

   var arr = [];
    arr.push("aaa");
    console.log(arr);
    // 等价于
    arr["push"]("bbb"); //注意引号 可以使用特殊字符
    console.log(arr);

// 动态访问属性

  var arr1 = [];
    var method = "push";
    arr1[method]("ccc");
    console.log(arr1);

// 判断对象引用类型

  var fun1 = function(){};
    var arr2 = [];
    console.log(typeof arr2); //typeof 只能判断function类型;
    console.log(arr2 instanceof Array) //instanceof还可以鉴定继承类型
    console.log(arr2 instanceof Object)//所有的引用类型都是继承object
    console.log(Array.isArray(arr2)) //当数组是在不同的框架传过来时,可以使用isArray()判断,instanceof失效

 // 原始数据类型

  var name1 = 'topOne';
    name1.last = "aaa";
    console.log(name1.last); // undefined

 

posted @ 2016-02-15 15:04  月半字  阅读(179)  评论(0编辑  收藏  举报