JavaScript常见的函数中的属性与方法总结

 更新时间:2023年05月19日 10:13:58   作者:施主来了  
当定义和调用函数时,JavaScript 函数对象会自动具有一些特定的属性,本文为大家总结了一些常见的属性和方法,感兴趣的小伙伴可以了解一下

当定义和调用函数时,JavaScript 函数对象会自动具有一些特定的属性,以下是一些常见的属性和方法。

1.arguments

arguments 是一个类数组对象,它包含了函数调用时传递的参数。它允许你在函数内部访问传递给函数的参数列表,即使在函数定义时未明确声明这些参数。可以通过索引访问 arguments 对象中的参数值,也可以使用 arguments.length 获取传递的参数个数。

function exampleFunc(a, b) {
  console.log(arguments[0]); // 访问第一个参数
  console.log(arguments.length); // 参数的个数
}

exampleFunc(1, 2, 3); // 1,3

注意:在es6开始,推荐使用剩余参数或者使用命名参数来代替使用 arguments 对象。

2.length

length 属性返回函数声明时的形参数量,即函数期望接收的参数个数。它表示函数定义时定义的形参个数,不包括剩余参数。

function exampleFunc(a, b, c) {
  // 函数体
}

console.log(exampleFunc.length); // 3

3.name

name 属性返回函数的名称。对于具名函数,它返回函数的实际名称。

function namedFunction() {
  // 函数体
}

const anonymousFunction = function() {
  // 函数体
}

console.log(namedFunction.name); // namedFunction
console.log(anonymousFunction.name); // anonymousFunction

这些属性使得函数对象在运行时具有额外的元数据,可以根据需要访问这些属性来获取有关函数的信息,例如函数的参数、参数个数和名称。这些属性在编写灵活和通用的函数时非常有用。

4.caller

caller 属性返回一个调用当前函数的函数引用。如果当前函数是在全局作用域中被调用的,那么 caller 将返回 null。该属性在严格模式下被禁用。

function outerFunc() {
  innerFunc();
}

function innerFunc() {
  console.log(innerFunc.caller); // outerFunc
}

outerFunc();

5.prototype

prototype 属性允许你向函数对象添加新的属性和方法。它用于创建基于原型继承的对象。

function Person(name) {
  this.name = name;
}

Person.prototype.sayHello = function() {
  console.log("Hello, " + this.name);
};

const person = new Person("John");
person.sayHello(); // Hello, John

6.bind()

bind() 方法返回一个新的函数,该函数在调用时将指定的 this 值绑定到提供的参数,用于创建函数的新实例并永久性地绑定函数的上下文。

const obj = {
  name: "John",
  greet: function() {
    console.log("Hello, " + this.name);
  }
};

const boundFunc = obj.greet.bind(obj);
boundFunc(); // Hello, John

类似的还有 apply()、call()、toString() 等。

7.constructor

constructor 属性返回创建函数对象的原型对象的引用。

function Person(name) {
  this.name = name;
}

const person = new Person("John");

console.log(person.constructor); // 输出:Person

到此这篇关于JavaScript常见的函数中的属性与方法总结的文章就介绍到这了,更多相关JavaScript函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 微信小程序批量上传图片到七牛(推荐)

    微信小程序批量上传图片到七牛(推荐)

    这篇文章主要介绍了微信小程序批量上传图片到七牛,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 微信小程序开发中的视频播放和直播功能示例代码

    微信小程序开发中的视频播放和直播功能示例代码

    近期为一家企业开发小程序,用户提出了在小程序中增加直播功能,下面这篇文章主要给大家介绍了关于微信小程序开发中视频播放和直播功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • JavaScript获取对象key的几种方法和区别

    JavaScript获取对象key的几种方法和区别

    这篇文章主要介绍了JavaScript获取对象key的几种方法和区别,下面文章更多的相关资料需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • javascript实现获取字符串hash值

    javascript实现获取字符串hash值

    Hash 可以看作是一个 关联数组,它对每一个值都绑定了一个唯一的键(值并不必须是唯一的), 然而,它不能保证迭代时元素的顺序始终一致。因为 JavaScript 程序语言的特性,每个对象实际上都是一个 hash,下面我们就来详细探讨下。
    2015-05-05
  • Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)

    Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)

    这篇文章主要介绍了Javascript DOM事件操作,结合实例形式总结分析了javascript监听鼠标点击、释放,悬停、离开等操作技巧,需要的朋友可以参考下
    2017-01-01
  • JS遍历Json字符串中键值对先转成JSON对象再遍历

    JS遍历Json字符串中键值对先转成JSON对象再遍历

    这篇文章主要介绍了JS遍历Json字符串中键值对的方法,先将Json字符串转换成JSON对象,再进行遍历,需要的朋友可以参考下
    2014-08-08
  • 如何获取select下拉框的值(option没有及有value属性)

    如何获取select下拉框的值(option没有及有value属性)

    获取select下拉框的值分为option没有value属性及有value属性时的两种情况,下面分别给出具体的实现代码,需要的朋友可以参考下
    2013-11-11
  • js实现自定义滚动条的示例

    js实现自定义滚动条的示例

    这篇文章主要介绍了js实现自定义滚动条的示例,帮助大家制作JS特效,美化自身网页,感兴趣的朋友可以了解下
    2020-10-10
  • 原生JS实现翻书特效

    原生JS实现翻书特效

    这篇文章主要为大家详细介绍了原生JS实现翻书特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • JavaScript动画函数封装详解

    JavaScript动画函数封装详解

    动画的原理是通过定时器setInterval() 不断移动盒子位置。但是如果同时有好几个元素都需要添加动画呢?我们就可以考虑将其封装成一个简单的动画函数。本文将为大家介绍如何进行封装,需要的可以参考一下
    2021-12-12

最新评论