zoukankan      html  css  js  c++  java
  • new 一个对象和不用new创建一个对象有啥区别?

    new是new的一个类,不new是字面量

    当用new的时候,函数内部的this是一个新的对象,

    如果不用new, 也就是把它当成一个普通的函数执行,它的this是window

     1 function Me(name,age,job){
     2               this.name = name;
     3               this.age = age;
     4               this.job = job;
     5             }
     6             var mefun1 = new Me('fei','20','it');
     7             var mefun2 = Me('fei','20','it');
     8             console.log(mefun1);//Me
     9             console.log(mefun2);//undefined
    10             console.log(this.mefun1);//Me
    11             console.log(this.mefun2);//undefined
     1     function Person(age){
     2                 this.age = age;
     3                 console.log(this);//Window
     4                 return age;//如果此处返回的是基本数据类型,则不使用new时,直接返回name数据,使用时返回带有name属性的Person对象
     5             }
     6             Person.prototype.name = "web";
     7             var person1 = new Person("16");
     8             var person2 = Person("18");
     9             console.log(person1);//Person {age:"16"}
    10             console.log(person1.name);//web
    11             console.log(person2);//18
  • 相关阅读:
    瀑布流
    轮播图
    封装动画的函数
    回到顶部带动画
    动画setInterval
    模拟滚动条
    放大镜
    刷新
    cookie
    拖拽
  • 原文地址:https://www.cnblogs.com/liazhimao/p/13948207.html
Copyright © 2011-2022 走看看