首页

文章

JS使用new操作符创建对象的方法分析

发布网友 发布时间:2022-04-20 02:58

我来回答

1个回答

热心网友 时间:2022-04-07 06:29

本文实例讲述了JS使用new操作符创建对象的方法。分享给大家供大家参考,具体如下:
在编写js代码时,我们有时会需要使用函数来模拟java中的类,并用它来产生对象,在定义了一个构造函数之后我们需要使用new操作符来调用调用函数才能得到我们想要的对象。例如:
<script>
function
Constructor(name){
this.name
=
name
}
var
person1
=
Constructor("张三");//undefined
var
person2
=
new
Constructor("张三");//得到一个对象{name:"张三"}
console.log(person1);
console.log(person2);
</script>
运行结果:
如果我们不使用new操作符调用函数,就只会简单的执行函数,并把函数的返回值赋给person1,所以上面的例子中person1的值是undefined,.
如果我们使用new操作符调用构造函数,做了哪些事情呢?
1.构造函数没有返回值
使用new操作符调用函数,会隐式的创建一个对象(我们这里称这个对象为obj),这个对象obj是连接到构造函数的原型上的,即obj会继承构造函数原型上的属性方法,并且构造函数中的this也被绑定到了这个对象上,执行完成后这个对象会被作为返回值返回。
2.构造函数有返回值(这种情况比较少,至少我没用过)
new出来的值由返回值的prototype而定
例如:
function
Constructor(name){
this.name
=
name
return
this.name;
}
var
person
=
new
Constructor("123");//Constructor
{name:
"123"};Object,因为基本类型的prototype都是Object
function
Constructor(name){
this.name
=
name
return
new
String(this.name);
}
var
person
=
new
Constructor("123");//String
{0:
"1",
1:
"2",
2:
"3",
length:
3,
[[PrimitiveValue]]:
"123"},
console.log(person);
运行结果:
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容还可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数*算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
您可能感兴趣的文章:用方法封装javascript的new操作符(一)浅谈javascript中new操作符的原理JS重学系列之聊聊new操作符js构造函数创建对象是否加new问题JavaScript中使用构造器创建对象无需new的情况说明JavaScript
三种创建对象的方法JS
创建对象(常见的几种方法)js中创建对象的几种方式示例介绍js创建对象的几种常用方式小结(推荐)js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)javascript的函数、创建对象、封装、属性和方法、继承
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 js面向对象的几种方式 js创建对象有几种方式 JavaScript定义对象的方法有哪些? js中创建对象的方式有几种,哪几种 Js面向对象有几种方式? JS对象创建常用方式有哪些 js对象的用法是什么? OPPO R11有没有计步器? 邮政快递包寰,有邮政快递包裹9897148774560? 2022年上映电视剧时间表全部 哪位有我爱你,这是最好的安排(2019)主演张彬彬、... 抖音很火两个字的歌名是什么? 最后唐舞麟和霍雨浩哪个比较厉害。 变态这个词是什么时候开始流行的网络语言?还是一... 有没有什么最新的恐怖的电影、 新上映的电影有哪些? 琅寰书院等级 2019年的教师节有几周年? 据说攀登者预售破亿,2019年国庆档都有哪些电影部... 29岁喜茶创始人身价40亿,他是如何实现逆袭的? js中的math对象有哪些常用的方法,其用法和作用是什么 js对象有哪些类型,创建js对象的方式 怎么验证oracle已经连接java JavaScript中window对象常用的属性、方法 js中对象所拥有的方法有哪些 Oracle新出的Java认证和以前的SCJP有区别吗?是不... 公众号怎么引流推广? JS面向对象之常见创建对象的几种方式 关于思科认证,华为认证,Oracle,Linux认证 | JAV... 微信公众号引流的方法有哪些? js调用对象中的方法 公众号如何快速引流推广呢? Oracle 的 Java认证证书补发 js创建对象几种方式的优缺点对比 如何通过引流到公众号上面? 想考oracle认证或者java程序员和web开发专家认证,... Js中什么是对象,什么是方法 微信公众号引流有哪些方法管用? Java哪些证书好 js的内置对象有哪些
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com