对象

对象

对象的创建

  第一种方法,通过new Object()方法创建对象

//第一种方式创建对象
var obj = new Object();
obj.name = ... ;          //添加属性
... ...
obj.f = function () {...}; //添加方法

  第二种方法,通过自定义构造函数来创建对象

function Person(name,age){
    this.name = name;
    this.age = age;
}

var per = new Person("菊花",21);

  第三种方法,通过字面量的方式创建对象

var obj = {};
obj.name = "菊花";       //添加属性
//添加方法
obj.eat = function () {  //添加方法
    console.log("eat");
}

对象调用属性和方法

  假设有如下对象

var obj = {
    name: "小明",
    age: 18,
    eat: function () {
        console.log("eat");
    }
};

对象调用属性和方法有两种方法,第一种是通过点语法,比如

console.log(obj.name);   //调用name属性
obj.eat();               //调用eat方法
小明
eat

第二种是采用字典的方式,如下

console.log(obj["name"]); //调用name属性
obj["eat"]();             //调用eat方法
小明
eat

JSON格式的对象

  json格式的对象是键值对都是字符串,如下

var json = {
    "name": "小明",   //"name"就是键,"小明"就是值
    "age": "18"
}

遍历json格式对象的方法是使用for-in循环,如下

//key会一一取遍json中的键
for (var key in json) {
    console.log(json[key]);
}
小明
18

函数参数的传递问题

  在函数中对传入的参数进行操作,是否会影响传入的参数。我们不妨看两个例子:

var num = 10;
function f(num) {
    num = 100;
}
f(num);
console.log(num);     //10,没有改变
var obj = {
    num: 10
}
function f(obj) {
    obj.num = 100;
}
f(obj);
console.log(obj.num);  //100,发生了改变

我们得出结论,如果传入的是数字,字符串等简单类型,是不会受到影响的,如果传入的是对象,那么在函数中如果对对象的属性或方法进行了改变,那么会影响这对象。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值