• New

    New

    创建一个新对象

    • this指向这个新对象
    • 执行代码,即对this赋值
    • 返回this ?

    • new运算符使用

    1. function Foo(name,age){
    2. this.name = name ;
    3. this.age = age ;
    4. //return this //默认有这一行
    5. }
    6. var f = new Foo('zhangsan',20);
    7. //var f1 = new Foo('list',22) //创建多个对象
    • 自制new运算符
    1. var new2 = function (func) {
    2. var o = Object.create(func.prototype);
    3. var k = func.call(o);
    4. if (typeof k === 'object') {
    5. return k
    6. }else{
    7. return o
    8. }
    9. }
    10. function new_todo() {
    11. this.name = 'zhang';
    12. }
    13. var o6 =new2(new_todo);
    14. console.log(o6)