首页 > 其他分享 >js中 new 运算符的作用

js中 new 运算符的作用

时间:2023-05-19 17:37:04浏览次数:31  
标签:name 对象 age js 运算符 new 构造函数

在 JavaScript 中,new 运算符用于创建一个对象实例。它的作用是通过调用构造函数创建一个新的对象,并且将该对象作为上下文来执行构造函数,最后返回这个新创建的对象。


使用 new 运算符的一般语法如下:

let newObj = new Constructor();

其中,Constructor 是一个构造函数,newObj 是通过该构造函数创建的新对象。

当使用 new 运算符创建对象时,它会执行以下操作:

  1. 创建一个空对象。
  2. 将新对象的原型链接到构造函数的原型(__proto__ 指向构造函数的 prototype)。
  3. 将构造函数的作用域赋给新对象(因此在构造函数中可以使用 this 关键字来引用新对象)。
  4. 执行构造函数,并将新对象作为构造函数的上下文(也就是 this 的值)。
  5. 如果构造函数没有明确返回一个对象,则返回新创建的对象;否则,返回构造函数中返回的对象。

示例代码:

// 定义一个构造函数
function Person(name, age) {
  this.name = name;
  this.age = age;
}

// 使用 new 运算符创建对象实例
let person1 = new Person('John', 25);
console.log(person1.name); // 输出 "John"
console.log(person1.age); // 输出 25

在上面的示例中,我们定义了一个构造函数 Person,它有两个参数 nameage,并将这些参数赋值给新创建的对象的属性。然后,使用 new 运算符创建了一个名为 person1 的新对象实例。

需要注意的是,new 运算符是 JavaScript 中用于创建对象的常用方式,它与普通的函数调用有所不同。通过使用 new 运算符,我们可以创建一个具有特定属性和方法的对象,并且该对象与构造函数的原型链相关联。

标签:name,对象,age,js,运算符,new,构造函数
From: https://www.cnblogs.com/cyy22321-blog/p/17415807.html

相关文章

  • SpringBoot实现WebSocket发送接收消息 + Vue实现SocketJs接收发送消息
    SpringBoot实现WebSocket发送接收消息+Vue实现SocketJs接收发送消息参考:1、https://www.mchweb.net/index.php/dev/887.html2、https://itonline.blog.csdn.net/article/details/81221103?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2......
  • nodejs的cookie实现module(cookie.js)
     文件名:cookie.js//Directlysendcookietosystem,ifit'snode.jshandler,send://request.headers.cookie//Ifit'ssocket.iocookie,send://client.request.headers.cookiemodule.exports.cookie=function(co){this.cookies={};co&......
  • nodejs 解析php的session_decode 的module(session_decode.js)
    文件名:session_decode.js//exports.session_decode=function(){//varmessage="Hellofromtheohaitheremodule";//returnmessage;//};exports.session_decode=function(data){//*example:session_decode('firstName|s:5:&quo......
  • 使用jQuery加载js脚本
    动态加载Javascript是一项非常强大且有用的技术。这方面的主题在本站已经讨论了不少,我也经常会在一些个人项目上使用RequireJS和Dojo加载js。它们很强大,但有时候也会得不偿失。如果你使用的是jQuery,它里面有一个内置的方法可以用来加载单个js文件。当你需要延迟加载一些js插件或其......
  • nodejs npm国内镜像
    镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):1.通过config命令npmconfigsetregistryhttp://registry.cnpmjs.orgnpminfounderscore(如果上面配置正确这个命令会有字符串response)2.命令行指定npm--registryhttp://registry.cn......
  • js根据姓名首字母构造字母索引列表
    js根据姓名首字母构造字母索引列表1、首先安装js-pinyin插件npminstalljs-pinyin2、引入js-pinyin//npminstalljs-pinyin下的映入importpinyinfrom'js-pinyin'//我的是下载下来将js-pinyin放在了当前文件目录下,如果是放在node_modeule里面的话如上引入就行import......
  • js 使用 eval 函数优化条件查询
    我们在写代码的使用,经常会遇到ifelse很长很长的代码,这种要怎么优化,一直是仁者见仁智者见智的我说下我的优化方案原始代码例如:if(income<=10000){ returnincome*0.365;}elseif(income<=30000){ return(income-10000)*0.2+35600;}elseif(income<=60000)......
  • uni.request(OBJECT)前端post请求数据json序列化
    一、uni-app前端post请求数据json序列化1.前置须知Content-Type实体头部用于指示资源的MIME(媒体)类型mediatype。在响应中,Content-Type标头告诉客户端实际返回的内容的内容类型。在请求中,客户端告诉服务器实际发送的数据类型。2.uni.request({})官方文档2.1dat......
  • JS删除对象中的某一属性(delete)
    通过delete操作符,可以实现对对象属性的删除操作<!--*@Descripttion:删除对象以及数组对象中的指定属性*@version:*@Author:zhangfan*@email:[email protected]*@Date:2020-07-0309:10:28*@LastEditors:zhangfan*@LastEditTime:2020-07-1515:03:00......
  • js中的foreach用法
    刚才采用foreach来遍历数组,达到格式化el-table中的数据,发现用foreach不生效,但是用户for循环没问题。吓我一跳,赶紧看了一下js中的foreach用法,没毛病啊。用了这么多年难道还会用错。<!--*@Descripttion:js中的foreach用法*@version:*@Author:zhangfan*@email:220704......