Javascript的对象学习

对象是我们学习JS的基石,没有它一个项目就难以建成。但许多初学者依旧对它的概念模糊不清,所以现在我来简单地阐述下我的理解,希望能让大家以及我自己能加深对JS中对象的理解。

众所周知,对象有6种数据类型,他们分别是:数字,字符串,布尔值和undefined,null,以及对象。

但数字,字符串,布尔值和undefined,null都是基本数据类型。

而对象与他们不同,对象属于复合型数据类型,在对象中可以保持多个属性值。

可以说对象就是属性的容器,而每个属性也都有他们自己的名字和值,属性的名字可以是包括空字符串在内的任意字符串(但是得用[""]给包住),而属性值可以是undefined以外的任何值。

所以,对象到底是什么呢?

对象是一个包含相关数据和方法地集合,是通过变量和函数组成,通常被我们说成属性和方法,常用对象字面量的形式表示。

其实也可以非常简单的说,除了number,string,undefined,null,boolean这几个基本数据外,其余的都是对象。

而对象也分为三种,他们分别是内部对象,宿主对象,以及自定义对象。

内部对象

1.本地对象,ECMAScript提供的需要实体化(new)才能使用的对象

Object,Function,Array,String,Booleand,Number,Date等等。

2.内置对象,ECMAScript提供的不需要实例化就能使用的对象。

只有Global(全局对象)和Math

宿主对象

浏览器提供的对象。所有的BOM和DOM都是宿主对象。

自定义对象

开发人员自己定义的对象

说了这么久的对象是什么,那么我们该如何创建对象呢?

var obj = new Object();
由此可见我们创建除了一个名为obj的对象

但我们也有更加简便的方法。
var obj={...}; 
//这种方法与上面的相比,不仅代码少写了,
而且可以直接在大括号中添加属性值。

添加属性值的语法:
对象名.属性名=属性值
(特殊属性名对象[“属性名”] = 属性值)
例子: obj.name='张三'

读取对象中的属性值
语法:对象.属性名
(读取对象中没有的属性值,不会错误,而会返回undefined)

修改属性值
语法:对象名.属性名=新值

删除属性值
语法  deleted 对象.属性名

其实,每个对象都连接到一个原型对象,并且它可以从中继承属性。所有通过对象字面量创建的对象都连接到Object.prototype 这个Javascript中标准的对象。每当你创建一个型对象时,Object.prototype都是它的模型。

当我们不清楚莫格对象中的属性名时,我们可以用到for in 语句 ,它可以用来遍历一个对象中的所有属性名。该枚举过程会列出该对象中的所有属性。

函数(顺边来说说)

其实函数也是对象。

而函数可以封装一些功能(代码),在需要时可以执行这些功能(代码)。

创建一个函数对象

Var fun =new Function()

(但我们在实际开发中很少使用这种方法。)

我们一般使用函数申明来创建函数

语法:

Function 函数名([形参1,形参2...形参N]){

...

}

匿名函数

function(){}

函数表达式

Var 函数名 = function([形参1,形参2...形参N]){
}

(可以看成 把一个匿名函数赋值个一个变量)
 

注意:封装在函数中的代码不会立即执行,函数中的代码会在调用时候执行

调用函数:  函数对象()

fun()

函数的参数

多个形参之间使用逗号隔开,形参申明就相当于在函数内部申明了对应的变量,但是并不赋值。

(调用时候不会解析器不会检查实参的类型,以及数量。

多余的实参不会被调用。

但如果实参的数量少于形参的数量,形参没有对应的实参,则会显示undefined。

函数的返回值

可以用return 来设置函数的返回值

语法:

     Return 值

Return后的值将会作为函数的执行结果返回

函数中的return后的语句都不会执行

(如果return 后不加任何值,则会返回undefined,不写return 也会返回 undefined)

就到这吧,希望能加强大家以及我自己对JS中对象的理解

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值