js关于对象的那些事

前言

没有对象,就自己创建对象

没对象?new一个


一、对象是什么?

对象是一个具体的事物。

对象是一组无序的相关属性和方法的集合,所有的事物都是对象,比如,字符串,数值,数组,函数等

二、对象的使用

1.保存一个值时,可以使用变量,保存多个值(一组值)时,可以使用数组。

代码如下(示例):

小明.姓名 = '小明';           xiaoming.name = '小明';  

小明.性别 = '男' ;                                      xiaoming.sex = '男'    ;   

小明.年龄 = 18 ;                                      xiaoming.age = 18;

小明.身高 = 190  ;                                    xiaoming.height = 190;

三.创建对象的方法

1.对象字面量:

花括号{ }里面包含了表达对象的属性和方法

代码如下(示例):

            // var obj ={}  //创建了一个空对象               


    
    

2.调用对象

  1. 对象名 . 属性值                console.log(obj.unname);
  2. 对象名 [ ' 属性名 ' ]             console.log(obj['age']); 

 3.调用对象的方法

对象名 . 方法名();               obj.sayHi();

举个栗子: 


    
    
  1.              var obj = {
  2.                  unname: "小明",
  3.                  age: 18,
  4.                  sex: "男",
  5.                  sayHi: function( ) {
  6.                      console. log( "hi~");
  7.                 }
  8.             }
  9.              console. log(obj. unname);
  10.             obj. sayHi();
  11. console. log(obj[ 'age']);

 注意:

1.里面的属性或方法采取键值对的形式

     键  属性名  :值   属性值 

2.多个属性或方法之间用逗号隔开

3.方法冒号后面跟的是一个匿名函数


 2.用 new  Object  创建对象

举个栗子:


    
    
  1. var obj = new 0bject(); //创建了一个空对象
  2. obj. unname = '小明';
  3. obj. age = 18;
  4. obj. sayHi = function( ) {
  5. console. log( 'hi');
  6. }
  7.              console. log(obj. unname);
  8.             obj. sayHi();
  9. console. log(obj[ 'age']);

 注意:

1.利用等号赋值的方法,添加对象的属性和方法

2.每个属性和方法用分号隔开


3.构造函数创造对象

构造函数的优点:

  1.重复相同代码

  2.封装的不是代码,而是对象 

  3.可以一次创造很多对象

  4.把相同的·代码的属性和方法封装到函数里

 语法格式:

            function 构造函数名(){
                this.属性=值;
                this.方法=function (){}
            }
            new 构造函数名();

举个栗子:


    
    
  1. function Star( unname, age, sex) {
  2. this. name = unname;
  3. this. age = age;
  4. this. sex = sex;
  5. this. sing = function( song) {
  6. console. log(song);
  7. }
  8. }
  9. var xm = new Star( '小明', 18, '男'); //调用函数返回的是一个对象
  10. console. log(xm. name);
  11. console. log(xm. age);
  12. console. log(xm. sex);
  13. xm. sing( '月亮之上');
  14. var xmei = new Star( '小美', 19, '女')
  15. console. log(xmei. name);
  16. console. log(xmei. sex);

 注意:

  1.         构造函数的名字的首字母要大写
  2.         构造函数不需要return就可以返回结果
  3.         调用构造函数必须用new
  4.         只要new Star() 调用这个函数就创建了一个对象 xm{}
  5.         属性和方法前面必须添加 this

new关键字的执行过程:

1.在内存中创建一个新对象

2.this指向新对象

3.执行构造函数里的代码,给这个新对象添加属性和方法

4.返回新对象(所以不需要return)


四、遍历对象

for in

for in 用于对数组或者对象的属性进行循环操作

语法结构:

for (变量  in  对象){

举个栗子:


    
    
  1. var obj = {
  2. unname: "小明",
  3. age: 18,
  4. sex: "男",
  5. }
  6. for( var k in obj ){
  7. console. log(k); //k 变量 输出得到的是属性名
  8. console. log(obj[k]); // obj[k] 输出的是属性值 不加引号,否则会变成字符串
  9. }

</article>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值