对象的创建方法
-
{}
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()
包装类之后就有属性和方法了,原始值没有属性和方法
1var num =4; 2 3//new Number(3).len=3; 销毁 4 num.len=3; 5 6//new Number(3).len=3; 销毁 7console.log(num.len);
以上过程原始值可以访问属性。经历了隐式的包装类,每次包装完 销毁。
注:undefined和null不可以设置属性值
例1:
1// var str = "abcd"; 2// str.length=2; 3// new string("abcd").length=2 销毁 4// console.log(str)//abcd
例2:
1var str = "abc"; 2 str += 1; 3var test = typeof (str); 4 if (test.length == 6) { 5 test.sign = "typeof的返回结果"; 6} 7console.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()
包装类之后就有属性和方法了,原始值没有属性和方法
1var num =4; 2 3//new Number(3).len=3; 销毁 4 num.len=3; 5 6//new Number(3).len=3; 销毁 7console.log(num.len);
以上过程原始值可以访问属性。经历了隐式的包装类,每次包装完 销毁。
注:undefined和null不可以设置属性值
例1:
1// var str = "abcd"; 2// str.length=2; 3// new string("abcd").length=2 销毁 4// console.log(str)//abcd
例2:
1var str = "abc"; 2 str += 1; 3var test = typeof (str); 4 if (test.length == 6) { 5 test.sign = "typeof的返回结果"; 6} 7console.log(test.sign); //undefinde
typeof返回string字符串