码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript基础知识盲点总结——对象

时间:2016-05-18 18:33:23      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

一、定义对象的基本格式:

var hero = {
breed: ‘Turtle’,
occupation: ’Ninja’,
talk: function(){
    alert(“A!!”);
    }
author: {
    firstname: ‘Martin’,
    lastname: ‘Lu’
   }
}

属性名加不加引号都可以,但是当属性名有保留字或特殊字符(空格等)时,需要加引号

 

二、对对象属性的操作

可以随时为对象添加/删除属性或者方法:

var hero = {};
hero.breed = ‘turtle’;
hero.name = ‘Alice’;
hero.sayName = function(){ return hero.name; }

在一个对象中,this指向的就是这个对象,比如如下调用方法:

var hero = {
name: ‘Martin’,
sayName: function(){
    return this.name;
}
}
hero.sayName();

三、使用构造器函数来创建对象

可以在创建对象时接受一些参数,使用new关键字创建对象

function Hero(name){
this.name = name;
this.occupation = ‘Ninja’;
this.whoAreYou = function(){
    return “I am” + this.name +this.occupation;
}
}
var hero = new Hero(‘Martin’);

 

四、构造器属性

创建一个对象时,该对象都会自动生成构造器属性,它指向用于创建该对象的构造器函数的引用。

比如hero.constructor,返回的就是Hero(name)

可以利用该属性创建另一个新对象,示例如下:

var hero1 = new hero.constructor(‘Martin’);

注意上面的代码中即使hero对象之前没有被创建,也可以用它以这种方法创建新对象

如果对象是通过文本标识法创建的,则是由内建函数构造器Object()创建的,如下:

var o = {};

o.constructor;

>>>Object()

typeof o.constructor;

>>>”function”


五、使用返回对象的函数创建对象

可以使用返回对象的函数创建对象:

function factory(name){
return {
    name: name;
}
}
var o = factory(“Martin”);
o.name;   //返回Martin
o.constructot;   //返回Object()

这种返回对象的函数用new来创建对象时会发生问题:new创建出来的(由构造器返回的)对象不再是factory对象而是其中包含name属性的对象

Javascript基础知识盲点总结——对象

标签:

原文地址:http://blog.csdn.net/fareise/article/details/51428551

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!