欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

(补)JavaScript之对象基础

程序员文章站 2022-03-07 10:36:30
现实世界是由无数的事物或对象组成,事物都有各独特的属性和一些动作行为,一般我们可以通过事物的某些特征或行为动作描述它。JavaScript中也是如此,JavaScript对象是多个键值对的集合,键我们称之为对象的属性,值称之为属性值。如果某个属性的值是函数,那么我们称这个属性是该对象的一个方法。 一 ......

现实世界是由无数的事物或对象组成,事物都有各独特的属性和一些动作行为,一般我们可以通过事物的某些特征或行为动作描述它。javascript中也是如此,javascript对象是多个键值对的集合,键我们称之为对象的属性,值称之为属性值。如果某个属性的值是函数,那么我们称这个属性是该对象的一个方法。

一     javascript对象分类

         js中对象大致可以分为3大类

  1、  本地对象

  这类对象是独立于宿主环境的对象,不因宿主环境的改变而有任何不同。

  object

  我称他为原始对象,js中其他的本地对象都继承自他,他的所有方法和属性都会出现在其他对象中。

  function

  函数其实是功能完整的对象,他也有自己的属性和方法,我们使用function关键字定义的所有函数都属于该类。

  array

  数组对象比较特别,因为它的键是从0开始的数字。并且是用中括号“[]”包裹的。

  string

  文本对象。

  boolean

  布尔对象。

  number

  数字对象。

  date

  时间对象。

  regexp

  正则表达式对象。

  error,evalerror,rangeerror,referenceerror,syntaxerror,typeerror,urierror

  各种错误对象。

  这里不必深究这些对象,只需要知道有这些东西即可,因为每个对象我后面都会单独开篇讲解。

  2、  内置对象

  内置对象也是独立于宿主环境的,但它只有在程序被执行之前才出现。

  global

  全局对象是预定义的对象,作为javascript的全局函数和全局变量的占位符,全局对象只是一个对象,而不是一个类,既没有构造函数也无法被实例化。

  了解详情请移步w3school

  math

  math对象和global一样,没有构造函数,也不能使用new实例化。它是专门用于执行数学计算的数学函数和数学常量的集合。

  3、  宿主对象

  所有由宿主实现的对象都属于该类,javascript中的宿主对象是web对象,所有dom和bom对象都是宿主对象。这里以后会专门讲解。

二   javascript对象的创建

         javascript中创建对象有3种常用方式:

  1、  字面量方式

1 var obj = {
2    name:"ren",
3    age:12,
4    say:function(){
5         alert("hello,my name is " + this.name);
6     }  
7 };

  2、  object()方式

1 var obj = new object();
2 obj.name = "ren";
3 obj.age = 12;
4 obj.say = function(){
5         alert("hello,my name is " + this.name);
6     }

  3、  构造函数方式

1 function createobj(){
2     this.name = name;
3     this.age = age;
4     this.say = function(){
5             alert("hello,my name is " + this.age);
6         };
7 }
8 var obj = new createobj();

 

三   对象使用

  1,  使用对象的属性

 1 var obj = {
 2    name:"ren",
 3    age:12,
 4    say:function(){
 5         alert("hello,my name is " + this.name);
 6     }  
 7 };
 8 
 9 console.log(obj.name);//"ren"
10 console.log(obj["name"]);//"ren"

        2,使用对象的方法

          接上面的obj使用

1 obj.say();//"hello,my name is ren"
2 obj.say;//ƒ (){alert("hello,my name is " + this.name);}
3 //不带(),将返回函数的定义