Js基础29:对象(上)

JavaScript012

Js基础29:对象(上),第1张

1、万物皆对象

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

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

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

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

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

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

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

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

2、对象有什么用

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

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

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

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

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

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

3、创建对象

字面量创建对象:

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

4、为对象添加值

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

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

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

字面量初始化对象:

保存在内存里,通过赋值给变量的形式,这样下次就可以通过变量名来访问: var data = { 'name': 'Sigma' }再保存持久一点,可以保存到cookie或者localStorage里: var data = { 'name': 'Sigma' }

扩展资料:

javascript是一个单线程的语言,但是可以通过代码调度在特定的时间运行。

对于js而言,每个实例化的对象都有以下的方法和属性(也就是说共有的,既然共有那麽就是在原型上的了):

(1):constructor,constructor被用来创建对象,比如 var o = new Object()那么constructor 就是 Object()函数。

(2):hasOwnProperty(propertyname),这表明如果一个实例化的对象(不是原型)存在给定的属性;注意的是属性名必须是字符串的形式。

(3):isPrototypeOf(object),判定一个对象是否是另一个对象的原型。

alert(Person.prototype.isPrototypeOf(person1))//true

alert(Person.prototype.isPrototypeOf(person2))//true

(4):propertyIsEnumerable(propertyname), 一个给定的属性可以用for-in语句枚举;同hasOwnProperty()一样,属性名必须是字符串。

(5):toString():返回对象的字符串形式

(6):valueOf():返回一个等于对象的字符串,布尔,字符串的值;这个经常返回和toString()一样的值。

推荐有一下几种方式:

1.对象字面量创建对象

var

obj

=

{

a:1,b:2

}

注意:对象字面量是一个表达式,这种表达式每次运算都会创建并初始化一个新对象,并计算这个新对象的每个属性值。所以如果在循环体内使用对象字面量,每次循环时都会创建新对象。

2.通过new运算符创建对象

var

obj

=

new

object()

//创建空对象

var

ary

=

new

array()

//创建空的数组对象

注意:new运算符后面跟的是一个函数调用,这个函数被称为构造函数。js中原始类型都包含内置的构造函数,也可以自己定义构造函数。

3.通过立即执行函数创建对象

var

obj

=

(function(){

return

{x:1,y:2}}())

注意:在立即执行函数内部一定要有return语句,return出的内容就是待创建的对象。