问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

new关键字相关知识点总结

发布网友 发布时间:2024-09-05 23:11

我来回答

1个回答

热心网友 时间:2024-10-04 07:42

一.工厂函数(了解):用于创建对象的函数

工厂函数是一个最后返回值是对象的函数,但它既不是类,也不是构造函数。在JavaScript中,任何函数都可以返回一个对象。但当函数没有使用new关键字时,那它便是一个工厂函数。

二.构造函数

使用new调用一个函数,构造函数作用与工厂函数一致,都是用来创建对象的。但是代码更加简洁。

三.构造函数new工作原理

(1)创建空对象

(2)this指向这个对象

(3)对象赋值

(4)返回这个对象

四.构造函数new在使用时需要注意的地方

构造函数首字母一般大写,为了提醒调用者不要忘记new关键字

如果在构造函数内部,手动returnreturn值类型:无效,还是返回new创建的对象

return引用类型:有效,会覆盖new创建的对象

五.代码演示functionPerson(name,age,sex){//(1)创建空对象//(2)this指向这个对象,this={}//(3)对象赋值this.name=namethis.age=agethis.sex=sex//(4)返回这个对象}//调用者Aletp1=newPerson('张三',23,'男')console.log(p1)//调用者Bletp2=newPerson('王五',45,'男')console.log(p2)六.总结new关键字

它创建一个新对象。这个对象的类型就是object。

它将这个新对象的内部不可访问的[[prototype]](即proto)属性设置为构造函数的外部可访问原型对象(每个函数对象都会自动具有prototype属性)

它使this变量指向新创建的对象。

每当this提及时,它都会使用新创建的对象执行构造函数。

注意:构造函数是指new关键字后面的函数,如,newConstructorFunction(arg1,arg2)

七.实现一个new

new运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例,new关键字会进行如下的操作:

1.创建一个空的简单JavaScript对象(即{});

2.链接该对象(即设置该对象的构造函数)到另一个对象;(通俗理解就是新对象隐式原型proto链接到构造函数显式原型prototype上)

3.将步骤1新创建的对象作为this的上下文;(实际是执行了构造函数,并将构造函数作用域指向新对象)

4.如果该函数没有返回对象,则返回this。(实际是返回一个空对象,newObject()就是返回一个空对象{})

八.Javascript关键字列表:(拓展)

breakdeletefunctionreturntypeof

casedoifswitchvar

catchelseinthisvoid

continuefalseinstanceofthrowwhile

debuggerfinallylet``newtruewith

defaultfornulltry``const

热心网友 时间:2024-10-04 07:51

一.工厂函数(了解):用于创建对象的函数

工厂函数是一个最后返回值是对象的函数,但它既不是类,也不是构造函数。在JavaScript中,任何函数都可以返回一个对象。但当函数没有使用new关键字时,那它便是一个工厂函数。

二.构造函数

使用new调用一个函数,构造函数作用与工厂函数一致,都是用来创建对象的。但是代码更加简洁。

三.构造函数new工作原理

(1)创建空对象

(2)this指向这个对象

(3)对象赋值

(4)返回这个对象

四.构造函数new在使用时需要注意的地方

构造函数首字母一般大写,为了提醒调用者不要忘记new关键字

如果在构造函数内部,手动returnreturn值类型:无效,还是返回new创建的对象

return引用类型:有效,会覆盖new创建的对象

五.代码演示functionPerson(name,age,sex){//(1)创建空对象//(2)this指向这个对象,this={}//(3)对象赋值this.name=namethis.age=agethis.sex=sex//(4)返回这个对象}//调用者Aletp1=newPerson('张三',23,'男')console.log(p1)//调用者Bletp2=newPerson('王五',45,'男')console.log(p2)六.总结new关键字

它创建一个新对象。这个对象的类型就是object。

它将这个新对象的内部不可访问的[[prototype]](即proto)属性设置为构造函数的外部可访问原型对象(每个函数对象都会自动具有prototype属性)

它使this变量指向新创建的对象。

每当this提及时,它都会使用新创建的对象执行构造函数。

注意:构造函数是指new关键字后面的函数,如,newConstructorFunction(arg1,arg2)

七.实现一个new

new运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例,new关键字会进行如下的操作:

1.创建一个空的简单JavaScript对象(即{});

2.链接该对象(即设置该对象的构造函数)到另一个对象;(通俗理解就是新对象隐式原型proto链接到构造函数显式原型prototype上)

3.将步骤1新创建的对象作为this的上下文;(实际是执行了构造函数,并将构造函数作用域指向新对象)

4.如果该函数没有返回对象,则返回this。(实际是返回一个空对象,newObject()就是返回一个空对象{})

八.Javascript关键字列表:(拓展)

breakdeletefunctionreturntypeof

casedoifswitchvar

catchelseinthisvoid

continuefalseinstanceofthrowwhile

debuggerfinallylet``newtruewith

defaultfornulltry``const

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...啊?我从嘴里吐出去是直的算过肺了吗?我不会从鼻子里出去_百度... 恶心呕吐是什么? 高考数学大题应注意哪些问题呢? 高考数学可不可以用高等数学啊 高考数学 基础知识点 常见考查方式 高考数学考什么内容 一般纳税人如何交所得税 以前的QQ忘记密码了那时候不要了就不找回密码了,现在想找回来,但是又没... 常州机场坐飞机流程 常州机场大巴时刻表 ...我早上九点起飞的飞机, 然后我这的机场快线大巴到机场时70分钟,_百 ... javascript进阶知识4-正则表达式 javascript要学什么? javascript有哪些方面的知识? 兽皮痣右胳膊小臂长有黑色毛发胎记,哪家医院治疗最专业?【兽皮痣... 沈丘县胎记医院脸上有一点五分硬币那么大手术费多少钱 祛除面部胎记多少钱 有首歌里面有一句(几千年礼仪之帮)叫什么名字? ...其中有两句歌词是:五千年礼仪之邦,泱泱我大中华,天是坤,地是... 描写泉水的好段? 唯物主义是什么意思呀 唯物主义的意思 黄柏煮水的功效与作用 黄柏的功效与作用是什么 吕继宏出版专辑 离婚判决之后还能再起诉吗? 两次起诉离婚没有判离还能起诉吗? 判决不准离婚之后还能起诉离婚吗 甘肃定西人去深州需要隔离吗? 2022进出深圳最新规定:深圳现在可以自由出入吗 深圳建筑资质二级升一级办理要求和注意的问题 前端基石:面向对象的细节知识(较长) javascript和web的关系(javaweb和javascript) javascript中的作用域和执行上下文 JavaScript数组操作必须熟练运用的10个方法 JavaScript之彻底理解原型与原型链 哈密瓜怎么去皮切块 哈密瓜怎么削皮 哈密瓜削皮方法 什么是肥厚型心肌病?可怕吗? 肥厚型心肌病临床上的特点 肥厚型心肌病的鉴别方法 肥厚型心肌病临床表现 肥厚型心肌病心脏彩超的表现 关于《琼明神女录》 底特律大都会国际机场简介 工作超十年被公司降职降薪,又唔出书面通知,只是收到口头通知,如何是好... ...口头通知降职降薪 然后公司又不出书面通告 这怎么办? 给老人送礼应该考虑哪些问题? 给老人送什么礼物比较好啊? 给80岁老人买礼物送什么好? 给老人送礼物送什么好?