js---对象笔记

1.现在要调用这个对象里的health属性,就可以通过 mrZhang.health 来调用

2.在外部直接给这个对象的属性赋值,mrZhang.health = 101

mrZhang.health ++ 这样也可以改变该对象的属性值

3.this.health --; 在这种情况下,this相当于第一人称

二.对象属性的增,删,改,查

1.属性的增加

mrZhang.wife = "xxx";    添加的属性后面必须要给值

2.属性的查看

mrZhang.name

3.属性的修改

mrZhang.sex = "female";

4.属性的删除

delete mrZhang.sex   注意后面不要加分号

 

注意一点,对象的属性未经定义就调用,不会报错,只会显示undefined

对象的传参

changePrepareWife : function (someone) { 
                this.prepareWife = someone;
            }

 

对象的创建方法
        //1.var obj = {}  plainObject  对象字面量/对象直接量
        //2.构造函数
        //         1.1.系统自带的构造函数 new Object() Array() number()
       var obj = new Object();
        var obj = {};

        上面与下面的构造对象的是一样的

//构造函数的命名规则,大驼峰式命名规则(所有单词的首字母必须大写)

var obj = new Object(); //不是在创建对象的时候就必须往里面添加属性值,可以在后期往上加
        obj.name = 'abc';  //这里单引号和双引号都可以,但是建议使用单引号,否则传到后端php时就需要转码
        obj.sex = 'female';

 

function person() {    //构造函数和申明函数一模一样

        }

 var person1 = new person();  //使用new 才能生成一个对象

 

例子:

function Person(color) {

            // var this = {             //有new 才能出现这一步
            //        name : ""
            //} 
            this.name = "BMW";
            this.height = "1400";
            this.lang = "1000";

            this.color = color;

            //return this;
        }

  var person = new Person("red");   //通过参数
  var person1 = new Person("green");

解释:Person 共同的一个方法,而person,与person1不断调用Person方法来修改自身的属性,最后他们两个的属性就会变的非常不一样,就会各形成一个独立的方法

 

构造函数内部原理:

有new才会出现下面的三步

1.通过隐式  var this = { } :

2.通过隐式的执行  this.xxx

3.隐式返回return this

 

解释:上图的例子中,使用了new 对象,所以虽然return 返回了123原始值,但是在js中会把这个原始值忽略掉,强制转换为对象

 

 

包装类:

原始值没有属性和方法的

属性和方法,是对象独有的

但是:数字,字符串,布尔值,他们有两种形式

例如: var num = 123   

            var num = new Number(123) 后面的这种就能够像对象一样操作了

          字符串,布尔值类似都是一样

undefined 与 null 不能有属性与方法

 

 

那原始值既然没有属性和方法,为什么又能调用属性呢?

那是因为经过了一个叫做包装类的操作

例子:

var str = "abcd";

str.length = 2;
// 先 new String('abcd').length = 2;    再销毁delete


 //new String('abcd').length
 console.log(str.length);  //打印出4

例子:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值