js学习-自定义函数、对象的字面量、json对象学习小结

一、自定义对象的构造:

var student=new Object();  //object是顶级对象,使用构造函数的方法创建一个对象,此处的意思是创建了一个学生的空对象

student.name="李四";    

student.age="24";           //此处属性与方法是无序的

student.sex="男";
//这三句是函数的属性(姓名,年龄,性别)

student.sayHi=function(){

    console.log("我叫"+student.name+"我的年龄是"+student.age+"我是"+student.sex+"生");

};
//这句是函数的方法(问好)

student.sayHi();  //最后可以通过对象名.方法名()调用这个函数。

 

我们可以通过构造函数的方法来创建一个对象。

function createstudent(name,age,sex){  //此处构造一个//createstudent的函数

    var student=new Object();  //创建一个学生对象

    student.name=name;       //分别给对象的属性赋一个形参

    student.age=age;

    student.sex=sex;

    student.sayHi=function(){   //此处为创建一个匿名函数将其赋给对象的方法,当最后调用这个匿名函数时执行此处代码。

        console.log("我叫"+student.name+"我的年龄是    "+student.age+"我是"+student.sex+"生");

    };

    return student;     //将对象返回出去

}

var lisi=createstudent("李四",20,"男");

lisi.sayHi();    

 

这里可以使用关键字this引用的是构造函数当前创建的对象。在这个方法中,this指向的所属的对象是最后用new所创建的Student对象。.

 
   function Student(name, age, sex) {

//(1)var student=new Object();   //(1)、(2)为冗余代码,因为每次调用都必须重新创建对象,并返回

        this.name = name;

        this.age = age;

        this.sex = sex;

        this.sayHi = function () {

            console.log("我叫" + this.name + "我的年龄是" + this.age + "我是" + this.sex + "生");

        };

// (2)   return student;

    }

    var lisi = new Student("李四", 20, "男");//此处创建一个对象

    lisi.sayHi();

 

new 的作用:

1)      先创建一个空对象;2)使用关键字this指向这个对象; 3)执行构造函数里面的代码,并给这个对象设置属性与方法;4)最后返回这个对象

 

二、对象的字面量:

对象的字面量大多用于只用一次的对象

其书写方式有两种:

第一种:

var o={};  

o.name="张三";

o.age=20;

o.sex="男";

o.sayHi=function(){

    console.log("我叫:"+ o.name+",我的年龄是:"+ o.age+",我是"+ o.sex+"生。");

};

o.sayHi();

 

第二种:

var o = {

    name: "张三",     //前面是键,后面是值,注意必须用逗号隔开

    age: 20,

    sex: "男",

    sayHi: function () {

        console.log("我叫:" + this.name + ",我的年龄是:" + this.age + ",我是" + this.sex + "生。");

    }                //最后不需要加逗号

};

  console.log(o.name);

  console.log(o.age);

o.sayHi();

 

//最后的输出方式也可以这样写
    
    console.log(o.["name"]);

    console.log(o.["age"]);

 


//这一种灵活一些,[]里面可以是属性也可以是变量

for…in

//for in
//获得对象之中每一个属性的值
for (var key in o) {

    console.log(key + "=======" + o[key]);

}

 

 

 

三.对于JSON对象的简单了解:

通过 jQuery AJAX,使用 HTTP Get 和 HTTP Post,您都可以从远程服务器请求 TXT、HTML、XML  或  JSON。

JSON主要用于与后台数据的传输。

var o = {                //json对象  主要用于传输数据

    "name": "张三",     //前面是键,后面是值,用逗号隔开

    "age": 20,           //JSON对象必须加上引号这也是与对象字面量定义属性与方法的区别。

    "sex": "男",

    "sayHi": function () {

        console.log("我叫:" + this.name + ",我的年龄是:" + this.age + ",我是" + this.sex + "生。");

    }

};

o.sayHi();

 

posted @ 2016-08-04 14:47  划过天际  阅读(1258)  评论(0编辑  收藏  举报