返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript中判断函数是new还是()调用的区别说明
  • 452
分享到

JavaScript中判断函数是new还是()调用的区别说明

判断函数new 2022-11-21 22:11:06 452人浏览 泡泡鱼
摘要

方式1 function Person(n,a){ this.name = n; this.age = a; if(this instanceof Person){ alert('

方式1

function Person(n,a){
this.name = n;
this.age = a;
if(this instanceof Person){
alert('new调用');
}else{
alert('函数调用');
}
}
var p = new Person('jack',30); // --> new调用
Person(); // --> 函数调用

方式2

function Person(n,a){
this.name = n;
this.age = a;
if(this instanceof arguments.callee){
alert('new调用');
}else{
alert('函数调用');
}
}
var p = new Person('jack',30); // --> new调用
Person(); // --> 函数调用

方式3

function Person(n,a){
this.name = n;
this.age = a;
if(this.constructor === arguments.callee){
alert('new调用');
}else{
alert('函数调用');
}
}
var p = new Person('jack',30); // --> new调用
Person(); // --> 函数调用

看似很完美,但当把函数/类作为自身实例对象的方法时调用就出问题了

function Person(n,a){
this.name = n;
this.age = a;
if(this.constructor === arguments.callee){
alert('new调用');
}else{
alert('函数调用');
}
}
var p = new Person('jack',30); // 先new一个对象
p.fn = Person; // 把函数/类 Person 赋值给自身对象p的fn属性
p.fn(); // 这句调用时提示“这是new调用”,显然不对

还有更好的方法吗?

--结束END--

本文标题: JavaScript中判断函数是new还是()调用的区别说明

本文链接: https://lsjlt.com/news/173179.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript中判断函数是new还是()调用的区别说明
    方式1 复制代码 代码如下: function Person(n,a){ this.name = n; this.age = a; if(this instanceof Person...
    99+
    2022-11-21
    判断函数 new
  • JavaScript中利用new调用函数的原理是什么
    JavaScript中利用new调用函数的原理是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.1 无 return 语...
    99+
    2024-04-02
  • oracle中all、any函数用法与区别说明
    基础概念 在Oracle中,any()表示括号内任何一个条件,只要有一个满足即可;而all()表示所有的条件都满足才可以。 代码演示 1.all用法 --大于最大值 selec...
    99+
    2023-05-16
    oracle all oracle any
  • javascript判断是否为函数的方法
    这篇文章将为大家详细讲解有关javascript判断是否为函数的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在javascript中,可以借助typeof和“===”操作符来判断是否为函数,语法格式...
    99+
    2023-06-14
  • JavaScript中怎么判断是否存在函数
    今天小编给大家分享一下JavaScript中怎么判断是否存在函数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2024-04-02
  • R语言中c()函数与paste()函数的区别说明
    c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为“1 2” ...
    99+
    2024-04-02
  • JavaScript中判断函数、变量是否存在的方法
    这篇文章主要介绍了JavaScript中判断函数、变量是否存在的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript中判断函数、变量是否存在的方法:1、判断...
    99+
    2023-06-14
  • javascript使用isNaN()函数判断变量是否为数字
    javascript中判断变量是否为数字的方法,这里主要介绍javascript里的 isNaN() 函数。 功能: isNaN() 函数用于检查其参数是否是非数字值。 语法: is...
    99+
    2022-11-15
    isNaN()函数 判断变量
  • PHP 判断字符串是中文还是数字的方法
    在PHP中,判断字符串是中文还是数字是一个常见的需求。在进行这样的判断时,我们可以利用PHP提供的一些函数来实现。下面将详细介绍如何使用具体代码示例来实现这个功能。 首先,我们需要明确...
    99+
    2024-03-07
    php 字符串 判断
  • php中判断是否为数组的函数是什么
    php中判断是否为数组的函数是“is_array()”。is_array()函数可以判断一个指定变量是否是数组类型,语法为“is_array($变量名)”;如果返回值为true,则指定变量是数组,如果返回值为false,则指定变量不是数组。...
    99+
    2022-06-28
    php数组 php
  • JavaScript 函数表达式与函数声明的用法及区别
    目录前言什么是函数声明?函数声明的好处什么是函数表达式?函数表达式的好处函数表达式和函数声明之间的区别函数表达式中的作用域如何在表达式和声明之间进行选择何时选择函数声明与函数表达式在...
    99+
    2024-04-02
  • php中判断数组是否存在的函数是哪个
    这篇文章主要讲解了“php中判断数组是否存在的函数是哪个”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中判断数组是否存在的函数是哪个”吧!php中判断数组是否存在的函数叫“is_arr...
    99+
    2023-06-30
  • PHP 如何判断字符串中包含的是中文还是数字
    PHP 是一种流行的开源服务器端脚本语言,广泛用于网页开发。在开发中,有时需要判断字符串中包含的是中文还是数字,下面将介绍如何在 PHP 中实现这一功能,并提供具体的代码示例。 要判断...
    99+
    2024-03-07
    php 字符串 判断
  • Go语言中make和new函数的用法与区别
    相同点: make和new都是用来创建分配类型内存的。 不同点: 先看下面的代码 package main import "fmt" func main(){ var i *in...
    99+
    2024-04-02
  • C++函数调用与Struct和CLass的区别是什么
    本篇内容介绍了“C++函数调用与Struct和CLass的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、结构回顾结构:自定义的...
    99+
    2023-06-30
  • 用javascript怎么判断对象中是否有参数
    这篇文章主要讲解了“用javascript怎么判断对象中是否有参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“用javascript怎么判断对象中是否有参...
    99+
    2024-04-02
  • JavaScript函数是怎么被调用的
    这篇文章主要介绍了JavaScript函数是怎么被调用的的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript函数是怎么被调用的文章都会有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • JavaScript中函数调用栈是怎么工作的
    这篇文章将为大家详细讲解有关JavaScript中函数调用栈是怎么工作的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。合理地处理堆栈信息能使你清除无用的数据, 而只专注于...
    99+
    2024-04-02
  • PHP8中的函数:array_is_list()——判断数组是否为列表
    PHP8是最新版本的PHP编程语言,在它的众多新特性中,array_is_list()函数给程序员们带来了方便。本文将介绍array_is_list()函数的详细用法和具体操作。一、什么是列表?在编程中,列表(List)是一种重要的数据结构...
    99+
    2023-05-16
    函数 PHP 数组
  • JavaScript与jQuery中文档就绪函数的区别是什么
    小编给大家分享一下JavaScript与jQuery中文档就绪函数的区别是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、文档就绪函数JavaScript 的文档就绪函数:<script> &n...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作