JavaScript关于对象的分享

版权声明:杨杨杨~~的版权 https://blog.csdn.net/weixin_38316697/article/details/82802353

JavaScript关于对象的分享

                                                        目录

1、对象的含义

8、构造器函数(可以用new操作符创建为对象)

2、对象的属性也可以是函数

9、全局对象概念(包括全局变量)

3、数组在JavaScript里使用小经验

10、instanceof  操作符(测试对象操作符)

4、访问对象的属性

11、返回对象的函数

5、调用对象的方法

12、传递对象

6、新增删除对象的属性与方法

13、比较对象

7、this值

14、内建对象***(重点)

1、对象的含义

【含义】JavaScript对象跟数组类似,区别它的键值类型是自定义的,并索引方式不再局限于数字,

                                                                              对象所使用的括号是{}

 实例:

 var hero = {                      //用于表示该对象的变量明白

‘float’: 'hello',              //如果属性名为保留字的话,加引号

   occupation : 'world'

 };


2、对象的属性也可以是函数

实例:

var dog= {

name : 'yzy',

talk : function(){                      //匿名函数

 alert("我爱吃辣条!!!");

 }

 };


3、数组在JavaScript里使用小经验

在数组中存储一些函数元素并在需要的时候调用它

var a = [];

a[0] = function(what){ alert(whart); };

a[0] ('Boo!');

一般性数组:也叫做索引型数组或者枚举型数组(通常以数字为键名)

关系性数组:也叫做哈希表或者字典(通常以字符串为键值)


4、访问对象的属性

var hero = {

yzy : {

    haha : '你好'

 }

 }

(1)括号表示法  (可以连续性的使用)

实例: hero['yzy']['haha'];

(2)点号表示法  (可以连续性的使用)

实例:hero.yzy.haha;

【若属性不存在,返回undefined】


5、调用对象的方法

用点号表示法或中括号表示法均可,在指定的方法名后面加个()就可以了

例子:>var hero = {

         breed:'Turtle',

         occupation:'Ninja',

         say:function(){                                            //对象里的方法

             return 'I am'  + hero.breed;                

         }

        };

        >hero.say();      //或  hero[say]();            //若调用方法时要传参, hero.say('a','b','c');

        "I am Turtle "


6、新增删除对象的属性与方法

 例子:

    //创建一个空对象

    > var hero = {};   

    >typeof hero.name;

    "undefined"

    //新增对象的属性和方法

    > hero.name = 'YZY';

    > hero.age = '18';

    > hero.sayAge = function(){ return hero.age;};

    > hero.sayAge();

     "18"

    //删除对象中的方法或属性

     >delete hero.age ;

      true

     > hero.sayAge();

     "undefined"


7、this值

    当在某个对象方法内部,访问同一对象的属性的时候,可以使用this

    例子:

    > var hero = {

           name : 'yzy',

           sayName : function(){

              return this.name;

           }

     }


8、构造器函数(可以用new操作符创建为对象)

   注:函数可以当做一个数据,赋给一个变量

 例子:

 //函数

 >function Hero(){

        this.name = 'yzy';    //使用this,创建全局变量(同时也是全局对象的一个属性)

  }

 //用该函数创建对象

 >var hero = new Hero();

 >hero.name;

  "yzy"


9、全局对象概念(包括全局变量)

程序所在宿主环境一般都会为其提供一个全局对象,所谓的全局变量其实都只不过是该变量的属性罢了。

例如:

当宿主环境是Web浏览器时,它提供的全局对象就是window。

例子 : > var a = 1; //创建一个全局变量

          > this.a;

           1

          >window.a;

           1


10、instanceof  操作符(测试对象操作符)

用处:测试一个对象是不是由某个指定的构造器函数所创造的

例子:

 >function Hero(){}

 >var h = new Hero();

 >var o = {};

>h instanceof Hero;   //注意:该函数后面没有加括号,因为这不是函数调用,只需引用该函数的名字既可

true

>h instanceof Object;

true

>o instanceof Objict;

true


11、返回对象的函数

>function factory(name){

    return {          

         name:name                          //返回对象的函数

    };

 }

>var yzy = factory('one');

>yzy.name;

"one"


12、传递对象

若把对象赋给另一变量,并且对该变量做一些改变操作的话,原对象也会跟着被改变

>var original = {howmany :1}

>var mycopy = original;

>mycopy.howmany;

1

>mycopy.howmany = 100;

100

>original.howmany;          //传递 

100


13、比较对象

>var fido = {dog : 'yzy'};

>var benji = {dog : 'yzy'};

>fido === benji;      //如果不同的对象,碰巧有相同的属性和方法,比较操作也会返回flase

flase

>var mydog = benji;

>mydog === benji;  //这种情况下,所指对象是相同的,因为对象的传递

true

>mydog === fido;

flase


14、内建对象

内建对象分为三类:

1、数据封装类对象  (1)Object、(2)Array、(3)Boolean、(4)Number、(5)String

2、工具类对象 

(1)Math 、(2) Date 、

(3)RegExp(一个VBScript5.0的正则表达式对象)

用于存储检索模式。

例如:

//用new,定义一个RegExp对象,模式为'e'

var patt1=new RegExp("e");

//RegExp三种方法 test()、exec() 以及 compile()。

//test()方法: 检索字符串中的指定值。返回值是 true 或 false。

document.write(patt1.test("The best things in life are free")); 

//exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

document.write(patt1.exec("The best things in life are free")); 

//compile() 既可以改变检索模式,也可以添加或删除第二个参数。

var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free"));

patt1.compile("d");

document.write(patt1.test("The best things in life are free"));

3、错误类对象

猜你喜欢

转载自blog.csdn.net/weixin_38316697/article/details/82802353