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出的内容就是待创建的对象。