js 对象,包装类

对象的创建方法:

  1. var obj = {};
  2. 构造函数:
    1》系统自带的构造函数:new Object();
    var obj = new Object();
    2》自定义:
    function Obj (){

    }
    var obj = new Obj();

为了区分函数和构造函数让人能一眼看出来,约定俗成构造函数要使用大驼峰命名法,即第一个词首字母也要大写:

  • 小驼峰:theFirstName
  • 大驼峰:TheFirstName

示例:

function Student(name,age,grade){
    this.name = name;
    this.age = age;
    this.grade = grade;
}
var stu = new Student('xiaohai',19,2);

删除属性:delete _ . _ (删除谁的什么属性)


js一切皆对象

书上明确告诉我们,原始值不是对象。原始类型不会有属性和方法。
还是直接看例子:

var num = 4;
num.len = 3;
console.log(num.len);

说好的,原始值不能给加属性加方法,但是实际上不会报错,
打印结果是undefined
原因:
先引申一些:
var : num = new Number(123);
这句代码会制造出一个对象类型的num = 123;
一样的:
var string = new String(“123”);

回到题目
num . len = 3;
本身num作为原始值,不能加属性的,但是本着尽量不报错的原则,会涉及到包装类,此时会隐式的改写为: new Number(4).len = 3;
为了完成代码的实现,自动加了对象类型,但是用完就会删掉,再下一行代码要打印,又会实现隐式转换new Number(4).len,但是这次跟上次的转换毫无关系,即找不到这个属性。找不到所以结果undefined.
希望有所帮助,谢谢访问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值