关于Js中new操作符的作用详解

 更新时间:2021年02月21日 10:18:26   作者:妙蛙种子  
这篇文章主要给大家介绍了关于关于Js中new操作符作用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

Js是当今时代最常用的代码操作语言,其中new操作符尤为常见。对于很多代码小白来说,并不清楚new在Js中扮演着怎样的角色,具体是做什么用,干了什么。本文从new操作符的作用着手,简单介绍new操作符相关知识。

什么是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


创建了一个空对象

var obj=new Object();

在Js代码中,new操作符的主要作用是产生对象。通过new创建空对象,为创建对象打基底。

设置原型链

obj.__proto__= Func.prototype;

JS中在利用new操作符建好基底后,就开始下一步的Js代码操作,设置原型链。new通过构造函数创建出的实例可以访问到构造函数原型链中的属性,换言之,通过new操作符,原型链链接了实例和构建函数。

(改变this指向)让Func中的this指向obj,并执行Func的函数体。

var result =Func.call(obj);

一般情况下,在Js代码组中,出现this时,构造函数内部是正常工作,但当通过new操作符改变this指向后,所出现的返回值会被正常的返回出去。

判断Func的返回值类型:如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。

 if (typeof(result) == "object"){
  func=result;
}
else{
  func=obj;
}

从上述一组new操作符代码中可看出,new还可用来判断Func的返回值类型。如果返回值是值类型,则正常返回。如果是引用类型,就返回到引用类型的对象。

以上四点是new操作符在Js代码中的主要作用,对于Js代码小白希望可以有帮助。

总结

到此这篇关于关于Js中new操作符作用的文章就介绍到这了,更多相关Js new操作符作用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • javascript实现滑动解锁功能

    javascript实现滑动解锁功能

    这篇文章主要介绍了javascript实现滑动解锁功能的方法及示例,效果非常棒,需要的朋友可以参考下
    2014-12-12
  • javascript开发技术大全 第2章 开始JAVAScript之旅

    javascript开发技术大全 第2章 开始JAVAScript之旅

    1st JavaScript Editor ,除了有着色处,还有html标签、属性、javascript事件、函数,另外还可调用外部编辑来编辑网页,也可将常用浏览器内置在窗口中。
    2011-07-07
  • 详解JS函数防抖

    详解JS函数防抖

    这篇文章主要介绍了详解JS中函数防抖的概念以及使用方法,文中代码十分详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • form表单序列化详解(推荐)

    form表单序列化详解(推荐)

    这篇文章主要介绍了form表单序列化操作,通过将表单中的键值序列化为可提交的字符串,并附上代码实例详细讲解了运行之后的结果,需要的朋友可以参考下
    2017-08-08
  • 一起来看看js对象和事件的学习笔记

    一起来看看js对象和事件的学习笔记

    这篇文章主要为大家详细介绍了js对象和事件学习笔记,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Javascript入门学习第六篇 js DOM编程

    Javascript入门学习第六篇 js DOM编程

    上篇文章纳闷的问题,将在这章和以后的几章里,慢慢搞定。 从今天起,开始学习DOM编程 让我们慢慢称为一名初级的js程序员。 然后往js匠人方向发展。
    2008-07-07
  • javascript函数重载解决方案分享

    javascript函数重载解决方案分享

    本文主要介绍了javascript函数重载解决方案,利用JavaScript中的特殊对象arguments来模拟函数重载。用它来判断传入参数的个数或类型以区分重载
    2014-02-02
  • JavaScript中的call方法和apply方法使用对比

    JavaScript中的call方法和apply方法使用对比

    这篇文章主要介绍了JavaScript中的call方法和apply方法使用对比,需要的朋友可以参考下
    2015-08-08
  • JavaScript 基础问答三

    JavaScript 基础问答三

    JavaScript的注释使用方法
    2008-12-12
  • 深入理解JavaScript系列(39):设计模式之适配器模式详解

    深入理解JavaScript系列(39):设计模式之适配器模式详解

    这篇文章主要介绍了深入理解JavaScript系列(39):设计模式之适配器模式详解,适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),需要的朋友可以参考下
    2015-03-03

最新评论