js对象的定义

js对象的定义

对象的定义

对象的直接量

var object = {//定义对象:object
        a:100;// 属性a=100
        b:100;//熟悉b=100
        c:"licheng";//属性c="licheng"字符串
    }

通过new创建对象

var ob = new Object();//创建一个空对象,相当于var ob={};

var array = new Array();//创建一个空数组。和[]一样。

Object.create()

对象原型:对象原型类似与java里面的Object所有类的父类。每一个对象都是从原型继承来的。

var O1= Object.create({x:1,y:2});//O1对象继承了属性x,y

var O2= Object.create(Object.prototype);//创建一个新空对象。相当于var a = {}; var o = new Object();

对象属性获取和设置

var people = {name:"licheng";age:12;};
people.name //获取name属性。
var tname = people["name"];//第二种方式属性获取通过[]获取属性名称,是通过字符串索引的方式查找属性的。js中所有的对象都是关联数组。
people.age//获取age属性。
people.sex = "male"; //属性赋值。

通过原型继承创建一个新对象

var object2 = {name="licheng"; age = 10;};

var object3  = inherit(object2);//object3 继承了 object2的属性。

delete属性。

var object1 = {name:"licheng",age:12};
delete object1.name;//可以删除name属性。
//不可删除全局的变量,全局的函数,不可删除不可配置的属性。例如
delete Object.prototype;//不可删除。属性是不可配置的。

var x = 1;//不可删除全局变量
delete this.x;
function x (){};//声明一个全局函数,
delete this.x ;//不可删除

检测属性

关键字 in
方法hasOwnProperty() 该方法用来检测给定的名字是否是对象的自有属性,继承属性返回false
”!==” 判断一个属性是否为 undefined 。属性不是undefined 返回true 是undefined返回false

var object = {x:1};
o.hasOwnProperty(x);//返回true自有属性
o.hasOwnProperty(y);//返回false 无这个属性
o.hasOwnProperty("toString";//返回false 继承父类的方法

getter 和 setter

var pepole = {
        name:"licheng",
        age:10,
         //get关键字开头
        get mame(){ return this.name;},//get方法
        //set关键字开头 中间
        set age1(age){ //set方法
            this.age = age;
        },
        get theta(){ return "licheng"}   
        // getter setter的访问 console.log(pepole.name)得到 licheng  pepole.age1 = 10 .
        // console.log(pepole.age = 10)
    }

具体示例

 var TcManager = {//定义对象

        init: function() {//定义init方法
            this.handleTcName();
        },

        handleTcName: function() {//定义handleName方法
            $(".firstTD").each(function(index, el) {
                var tcName = $(this).text(); //表示当前元素 this
                if (tcName.length > 40) {
                    tcName = tcName.substring(0, 40) + "...";
                    $(el).html(tcName);
                }
            });
        }

    };
posted @ 2016-11-06 19:24  neverstopme  阅读(102)  评论(0)    收藏  举报