构造函数的内部原理
1 在函数体最前面的隐式的加上this={}
2执行this.xxx=xxx;
3隐式的返回this
//要 new 了后才发生的三步骤
//必须要大驼峰式 如Person
function Student(name,age,sex){
//var this={
// name=""
// age=""
// };
this.name=name;
this.age=age;
this.sex=sex;
//return this;
}
有new不能返回原始值
function Person(name,height){
this.name=name;
this.height=height;
return 123; //原始值被忽略
}
var person=new Person('xiaowang',180);
console.log(person);
包装类
var num=4;
num.len=3;
//new Number(4).len=3;
//delete
//
//new Number(4).len
console.log(num.len); //underfined
var str='abcd';
str.length=2;
//new String('abcd').length=2;delete
console.log(str); //abcd
console.log(str.length); //4
function Person(name,age,sex){
var a=0;
this.name=name;
this.age=age;
this.sex=sex;
function sss(){
a++;
document.write(a);
}
this.say=sss;
}
var person=new Person();
person.say(); //1
person.say(); //2
var person1=new Person();
person1.say(); //1
var x=1,y=z=0;
function add(n){
return n=n+1;
}
y=add(x);
function add(n){ //覆盖上面的函数
return n=n+3;
}
z=add(x);
//x=1 y=4 z=4