JavaScript 对象和包装类

对象的创建方法

  • {}
var obj = {} 
  • 系统自带的构造函数
var obj = new Object()//Array()//Number()
  • 自定义的构造函数
function Person(){

}   
var person1 = new Person()

注:构造函数:大驼峰命名规则 TheFirstName 

       普通函数:小驼峰命名规则  theFirstName

构造函数内部原理(必须加New)

  • 在函数体最前面隐式的加上this={}
  • 执行this.xxx=xxx
  • 隐式的返回this
function Person(name,age){
         //var this={}; 隐式
         this.name=name;
         this.age=age;

         //return this隐式
}   
var person1 = new Person("zhangsan",18)

注:构造函数显示返回对象,则返回对象

       构造函数返回原始值,则不受影响,继续返回this

包装类

  • new String()
  • new Boolean()
  • new Number()

包装类之后就有属性和方法了,原始值没有属性和方法

var num =4;

//new Number(3).len=3; 销毁
 num.len=3;

//new Number(3).len=3; 销毁
console.log(num.len);

以上过程原始值可以访问属性。经历了隐式的包装类,每次包装完 销毁。

注:undefined和null不可以设置属性值

例1:

// var str = "abcd";
// str.length=2;
// new string("abcd").length=2 销毁
// console.log(str)//abcd

例2:

var str = "abc";
 str += 1;
var test = typeof (str);
 if (test.length == 6) {
      test.sign = "typeof的返回结果";
}
console.log(test.sign); //undefinde

typeof返回string字符串

---恢复内容结束---

对象的创建方法

  • {}
var obj = {} 
  • 系统自带的构造函数
var obj = new Object()//Array()//Number()
  • 自定义的构造函数
function Person(){

}   
var person1 = new Person()

注:构造函数:大驼峰命名规则 TheFirstName 

       普通函数:小驼峰命名规则  theFirstName

构造函数内部原理(必须加New)

  • 在函数体最前面隐式的加上this={}
  • 执行this.xxx=xxx
  • 隐式的返回this
function Person(name,age){
         //var this={}; 隐式
         this.name=name;
         this.age=age;

         //return this隐式
}   
var person1 = new Person("zhangsan",18)

注:构造函数显示返回对象,则返回对象

       构造函数返回原始值,则不受影响,继续返回this

包装类

  • new String()
  • new Boolean()
  • new Number()

包装类之后就有属性和方法了,原始值没有属性和方法

var num =4;

//new Number(3).len=3; 销毁
 num.len=3;

//new Number(3).len=3; 销毁
console.log(num.len);

以上过程原始值可以访问属性。经历了隐式的包装类,每次包装完 销毁。

注:undefined和null不可以设置属性值

例1:

// var str = "abcd";
// str.length=2;
// new string("abcd").length=2 销毁
// console.log(str)//abcd

例2:

var str = "abc";
 str += 1;
var test = typeof (str);
 if (test.length == 6) {
      test.sign = "typeof的返回结果";
}
console.log(test.sign); //undefinde

typeof返回string字符串

猜你喜欢

转载自www.cnblogs.com/FashionDoo/p/10525761.html