当前位置: 首页 > news >正文

北京互联网公司建网站百度下载安装免费

北京互联网公司建网站,百度下载安装免费,wordpress 最强插件,e盘网站建设文章目录 JS中的new操作符一、什么是new?二、new经历了什么过程?三、new的过程分析四、总结 JS中的new操作符 参考:https://www.cnblogs.com/buildnewhomeland/p/12797537.html 一、什么是new? 在JS中,new的作用是通过…

文章目录

  • JS中的new操作符
    • 一、什么是new?
    • 二、new经历了什么过程?
    • 三、new的过程分析
    • 四、总结

JS中的new操作符

参考:https://www.cnblogs.com/buildnewhomeland/p/12797537.html

一、什么是new?

在JS中,new的作用是通过构造函数来创建一个实例对象
和普通函数不一样,当函数用作构造函数时,首字母一般要大写,以作区分。

function Foo(name) {this.name = name;
}
console.log("new Foo('mm')的类型:", typeof new Foo('mm')); // object
console.log("Foo的类型:", typeof Foo);                     // function

二、new经历了什么过程?

Foo明明只是一个函数,可是为什么new Foo()执行后会突然返回一个对象呢?
我们从结果出发可以推断出,既然返回了一个对象,那么这事肯定和对象有关系。

实际上new帮我们做了这样几件事:

1.帮我们创建了一个空对象;
2.将空对象原型的内存地址__proto__指向函数的原型对象;(这里涉及到了原型链的知识)
3.利用函数的`call`方法,将原本指向`window`的绑定对象this指向了obj。(这样一来,当我们向函数中再传递实参时,对象的属性就会被挂载到obj上。)
4.利用函数返回对象obj。

三、new的过程分析

function Foo(name) {this.name = name;return this;
}
var obj = {};
obj.__proto__ = Foo.prototype;
// Foo.call(obj, 'mm');
var foo = Foo.call(obj, 'mm');
console.log(foo);

在这里插入图片描述

分析:
1.预编译,声明提升,解释执行。
2.执行时按照顺序来进行,
3.obj指向空对象;
4.obj的原型地址指向构造函数Foo的原型对象;
5.执行Foo.call(obj, 'mm');
6.this.name = name; 通过函数的call方法将this绑定到obj(也就是说this就是obj),实参mm传入构造函数Foo中,这样this.name = 'mm',那么obj.name = 'mm',也就是说name属性被挂载到obj对象上。
7.return this; 就是return obj,这样obj这个对象就被返回出来了。
8.将结果赋值给变量foo。
9.打印结果。

在这里插入图片描述

四、总结

第三部分的代码直接用new 构造函数效果是相同的。

function Foo(name) {this.name = name;
}
var foo = new Foo('mm');
console.log(foo);

简而言之,new操作符帮我们做了四件事:

  1. 创建空对象;
  2. 空对象的原型指针指向构造函数的原型对象;
  3. 利用函数的call方法改变this指向,在空对象上挂载属性或方法;
  4. 返回对象。
http://www.yayakq.cn/news/695787/

相关文章:

  • 怎样注册网站建立网页《基层建设》在哪个网站收录的
  • 汽车网站建设规划书企业网络营销活动
  • 珠海市建设局网站做网站和论坛区别
  • 做网批的网站玉林市住房和城乡建设局网站
  • 博瑞微传媒建站快车网站 租用服务器
  • php做网站导购黑龙江建设网ca锁费用
  • 武义县建设局网站首页金寨建设工程质量监督站网站
  • 网站建设(信科网络)免费成品网站模板
  • 乔拓云在线设计网站使用公网ip做网站地址
  • 公司官方网站推广策划做贺卡的网站
  • 响应式网站建设效果大良商城网站建设
  • 网站建设商城建设江苏聚峰建设集团网站
  • 用心做电影的网站网站制作价格行情
  • 企业营销是啥意思快推达seo
  • 微信怎么建设自己网站如何做一个简单的网站
  • 现在做个企业网站一般多少钱抄袭wordpress主题
  • love域名做的网站湖北做网站公司
  • 网站制作入门课程品牌建设助力高质量发展
  • 站长素材音效网站软件定制开发制作
  • 室内设计网站平面案例wordpress 百度翻译插件
  • 做外贸网哪些网站免费360云盘做服务器建设网站
  • 产品网站定制网页设计代码模板在哪找
  • 天津建设工程合同备案网站最近国内重大新闻
  • 购物网站设计理念wordpress 微信 商城
  • 做网站实训心得友情链接购买网站
  • 南宁做网站的公司seo搜索引擎推广
  • 拼多多无货源电商怎么做一个网站的优化怎么做
  • 太原做网站推广的公司网站建设的风险
  • 许昌那有做网站某网站安全建设方案
  • 网站收录燕郊网站建设