javascript中new是什么意思

我看见赋值的时候有个new这个字符是什么意思啊比如:d=newDate()我想知道这个new在Javascript到底是个什么意思哦还有这个this也是个什么意思谢谢谢谢... 我看见 赋值的时候 有个new 这个字符是什么意思啊
比如:d=new Date()
我想知道这个 new 在Javascript到底是个什么意思
哦 还有这个this也是个什么意思
谢谢
谢谢 大家的回答,但是回答的还不够
我是新手 很多东西不太懂
希望能再解释清楚点 谢谢
展开
 我来答
molaifeng
推荐于2017-09-17 · TA获得超过5273个赞
知道大有可为答主
回答量:1629
采纳率:50%
帮助的人:1792万
展开全部
  new是用来实例化一个对象的,new Date()是用来实例化一个事件对象,然后赋值给变量d,this就是这个对象的意思,在js中这个this变化多端,具体参照下面的,不过说实话,作为新手,想通过一两篇文章就想彻底理解this还是省省吧,这要通过很多的练习及思考,楼主不要心急,最好买本书好好看看,现在的人太浮躁了

  Douglas Crockford大师把this古怪的行为解释为和函数的调用模式有关。
  js中有四种调用模式---方法、函数、构造器以及apply调用模式,它们在初始化this时候是不一样的。
  1)方法模式 简单的说就是使用点表达式或是下标表达式来调用 这里定然是有对象的 这种情况下 this的绑定发生在调用的时候 绑的自然是调它的那个对象了。
  作为方法调用的函数有一个非常重要的属性:在方法体中,用来调用方法的对象成为关键字this的值。
  2)函数模式 这个就更简单了,函数名加调用运算符('()')。不过要小心,这个this绑的可是全局对象,不管你写哪了。(可以理解成 你不给我指明了 我就自己给它加个全局对象)
  当一个函数作为函数调用而不是方法调用时,这个this关键字引用全局对象。容易混淆的是,当一个嵌套的函数(作为函数)在一个包含的函数中调用,而这个包含的函数是作为方法调用的,这也是成立的:this关键字在包含的函数中有一个值,但是它却(不太直观地)引用嵌套的函数体的内部的全局对象。
  看个例子吧
  var a = 'global';
  var obj = {
  a : 'local',
  test : function(){
  function test1(){
  alert(this.a);//global
  }
  alert(this.a);//local
  test1();
  }
  };
  obj.test();
  /*****************************解决这个问题的方法*****************************/
  var a = 'global';
  var obj = {
  a : 'local',
  test : function(){
  var that = this;
  function test1(){
  alert(that.a);//local
  }
  alert(this.a);//local
  test1();
  }
  };
  obj.test();

  3)构造器调用模式 一句话就是用new来调用的 new的时候this就绑定到新对象上了 比较好理解
  (1)new运算符后面必须跟着一个函数调用。new创建了一个新的没有任何属性的对象,然后调用该构造函数,把新的对象作为this关键字的值传递。
  (2)构造函数通常没有返回值。它们初始化作为this的值来传递的对象,并且没有返回值。但一个构造是允许返回一个对象值,并且如果它这么做,返回的对象成为new表达式的值。在此情况下,作为this的值的对象会被抛弃。可参考jQuery构造函数。
  4)apply,call调用模式 apply,call是函数对象的方法,你想把谁绑定到this 就直接把它作为第一个参数传给apply或call就好了。
  ECMAScript规范给所有函数定义了两个方法call()和apply(),使用这两个方法可以像调用其他对象的方法一样调用函数。call()和apply()的第一个参数都是要调用的函数的对象,在函数体内这一参数是关链字this的值。call()的剩余参数是传递给要调用的函数的值。
微测检测5.10
2023-07-11 广告
IEC62133与en62133的区别如下:1. 认证机构不同:IEC62133是国际的标准,它以国际通用的标准进行生产;而en62133采用的是欧盟的标准,它使用欧盟的生产需求进行生产。2. 宗旨不同:IEC62133的宗旨是促进电气、电... 点击进入详情页
本回答由微测检测5.10提供
awl805
推荐于2017-09-09 · TA获得超过392个赞
知道小有建树答主
回答量:302
采纳率:100%
帮助的人:317万
展开全部
在js当中,new只是把后面的那一块执行一遍,把结果返回回来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尐枼芓
2013-01-17 · TA获得超过136个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:105万
展开全部
用来实例化Date()这个对象的一种格式,这样d作为date的对象,就可以使用date的方法了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thezyp
2013-01-29
知道答主
回答量:1
采纳率:0%
帮助的人:1542
展开全部
创建新对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式