您所在的位置:小祥子 » 编程 » JavaScript » 正文

Java script 中的面向对象1

时间:2015-05-12 编辑:平常心cz 来源:本站整理

Java script 中的面向对象

  1. 对象

    对象是Javascript的基本数据类型,对象是一种复合值,将很多的键值对聚合在一起使用。对象可看做是属性的无序集合,每个属性都是一个名/值对。属性名其实是一个字符串。我们可以把对象看做是字符串到值的映射。

  1. 创建对象

    例子代码如下:

<script type="text/javascript" language="JavaScript">

????//创建一个对象o 有两个属性 x y

????????var o={

????????????x:10,//注意:名/值之间用冒号:隔开 多个名值对之间用逗号间隔

????????????y:20//整个映射表要用花括号括起来

????????};

????????var o1={

????????}//创建一个空对象

????????

????????//对象中的值可以引用其他对象的值

????????var o2={

????????????x:o.x-1,

????????????y:o.y

????????????author:{

????????????????fristname:"lisi",

????????????????lastname:"zhangsan"

????????????}

????????}

????????

????</script>

  1. 通过new 创建对象

    var o3=new Object();//创建一个空对象 和{}一样

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

????????????var d=new Date();//创建一个表示当前日期的对象

????????????var r=new RegExp("JS");//创建一个进行模式模式匹配的RegExp对象

?

?

?

  1. 原型

    每一个对象都是从原型中继承而来的

    通过Javascript代码 object.prototype获得对原型对象的引用

    通过关键字new和构造函数调用创建的对象的原型都是构造函数的prototype属性的值

    ?

    因此使用{}创建的对象一样 通过new object()创建的对象也继承来自于Array.prototype,通过new Date()创建的对象的原型就是Date.prototype.

    ?

    Object.prototype没有原型

    4.通过Object.create()创建对象

    Object.create()是一个静态的函数,不是提供给某个对象调用的方法。

    只需传入所需的的原型对象即可。

    var a1=Object.create({x:10,y:12});

    ?

二.对象属性的设置

可以通过点.或者方括号[]运算符来取属性的值

注意:方括号内必须是一个计算结果为字符串的表达式

var 0_x=o2.x;

????????var o_author=02["author"];

同样可以通过这种方式对对象设置属性值

????????o2.x=10;

????????o2["y"]=20;

三、函数对象

可以使用function关键字定义一个函数,并为每个函数指定一个函数名,通过函数名来进行调用。在javascript解释执行的时候,函数都是被维护为一个对象,就是函数对象。

function myfunction(a,b){

????return a+b;

}

等价于

var myfunction = new Function("a","b","return a+b");

?

另外

var i = function(a,b){

????return a+b;

}(1,2)

这样的写法就是创建完函数后马上执行。

?

再有,function funcName(){}等价于

????var funcName = function(){}

?

?

?

?

?

?

?

?

?

?

关键词:面向对象 对象