Js中什么是对象,什么是方法

JavaScript010

Js中什么是对象,什么是方法,第1张

什么是对象

       

JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。

对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;

对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;

JavaScript 提供多个内建对象,比如 String、Date、Array 等等,使用对象前先定义,如下使用数组对象:

  var objectName =new Array()//使用new关键字定义对象

或者

  var objectName =[]

访问对象属性的语法:

objectName.propertyName

如使用 Array 对象的 length 属性来获得数组的长度:

var myarray=new Array(6)//定义数组对象

var myl=myarray.length//访问数组长度length属性

以上代码执行后,myl的值将是:6

访问对象的方法:

objectName.methodName()

如使用string 对象的 toUpperCase() 方法来将文本转换为大写:

var mystr="Hello world!"//创建一个字符串

var request=mystr.toUpperCase() //使用字符串对象方法

以上代码执行后,request的值是:HELLO WORLD!

我来根据我的理解回答一下LZ的问题,如果有不对的地方还请多多指教!

1.cc //这个是函数体本身,用在给函数添加或者调用属性一类的事情

2.cc() //执行函数体

3.new cc() //创建一个cc函数的对象,如果你理解面象对象的话,就会很容易理解

关于this

this在函数体里的含义不相同,就function cc(){this.i="cc"}而言,如果没有创建对象,那这个this就代表window对象,这时候你如果执行cc()的话,window对象中就会有一个值为"cc"的属性i.如果创建了一个cc对象:var c=new cc()这时候this指的就是新建的对象c.

关于prototype

JavaScript的所有function类型的对象都有一个prototype属性.这个prototype 属性本身又是一个object 类型的对象,因此我们也可以给这个prototype 对象添加任意的属性和方法.

关于this和prototype区别

this的级别高于prototype,举个例子

function cc(){this.i="cc"}

cc.prototype.i="aa"

alert(new cc().i)// i="cc"

这时候如果把this.i="cc"去掉的话,则会显示"aa"

关于new cc().prototype

前面说过,function类型的对象都有一个prototype属性,而如果new cc().prototype这么写,就相当在cc()的对象上创建了一个名字为prototype属性,它的值为undefined,没有实际意义.

cc={}这种形式就是创建了一个对象的简写,和cc=new Object()一样. 对象里有两个属性width和height.

他妈的arguments 的意思就是函数的实参,比如

function cc(){alert(arguments[0])}

cc("参数一")

cc.apply()的原形是cc.apply(func,args[])意思就是在名为func的函数中加入一个cc函数,args是cc函数的参数,用数组形式表示. 执行完这条以后就可以在func的对象中调用cc函数了

和apply()相似的是call().两个作用相同,只是call(func,arg1,arg2,...)里面的参数不是数组形式,要用逗号隔开写

希望对LZ有所帮助,如果大家觉得有什么不对的地方请尽情提出!谢谢!

1、万物皆对象

在编程中, 万物皆对象 。我们在编程中,使用对象来描述万事万物。怎么描述呢?什么事物,只要描述了其特征和行为就可以知道在描述什么。

举个例子,我们猜个谜语:

什么东西,小时候是黑色的,长大是绿色的,小时候在水里游,长大了在岸上跳。

基本都可以猜到,我们描述的是青蛙。

其中,颜色是青蛙的特征,在水里游和在岸上跳是行为。

我们在编程中,也是使用 特征 和 行为 描述任何事物。

使用 属性 描述事物的 特征 ,使用 方法 来描述 行为 , 就是对象这种语法。

所以:对象就是属性和方法的集合

2、对象有什么用

我们之前学习过的对象:Math、Date

我们发现,只要学习对象的一些属性和方法,直接使用,就可以得到自己想要的效果。

例如-得到随机数:Math.random()

我们不需要关心随机数到底是怎么产生的,只要结果——不关心过程,只关心结果

就好像我们获取当前日期:

所以对象的好处在于:我们只要知道对象有什么属性和方法,不需要知道对象里面是如何实现的。我们实现一个效果的过程将大缩短,实现高效开发。

3、创建对象

字面量创建对象:

使用Object内置对象创建对象:

4、为对象添加值

对象的值(对象成员)有两类:

添加属性的语法:对象.属性 = 值

添加方法的语法:对象.方法名 = function(){}

字面量初始化对象: