Javascript基础——不常用但很有用的js函数

JavaScript基础——4.JS函数 JS 函数声明需要以 function 关键字开头,后面跟上空格以及函数名,函数体用花括号括起来 格式如下:function 函数名(参数) {// 函数中的代码// 示例代码 函数声明// 函数表达式 类似于 python中的匿名函数。 阅读详情
1.1. JavaScript函数

这部分对Extjs中常用的几个JavaScript参数和函数进行说明,它们是arguments、call、apply、caller、callee。这几个函数在普通的JavaScript编程中很少使用,但在Extjs的源码中却经常会碰到,所以先熟悉这几个函数对Extjs的学习有很大的帮助。

1.1.1. arguments

arguments是JavaScript函数的隐含对象,它代表正在执行的函数和调用该函数时传入的参数。arguments中存储的是调用该函数时实际传入的参数的值,而不是函数声明时所定义的参数。arguments对象只能在函数开始时才存在,不能显示地为某个函数创建该对象。

例子1:

function sayHello(name,age){

var argNum = arguments.length;//实际传入的参数个数

var defNum = sayHello.length;//函数定义的参数个数

alert('调用函数时传入'+argNum+'个参数,他们是:'+arguments[0]+','+arguments[1]);

}

sayHello('zhangsan',12);//输出“调用函数时传入2个参数,他们是:zhangsan,12”

从例子1中可以看出,如果要得到函数声明时定义的参数数量,可以使用函数的length属性(上例中的sayHello.length)即可。要得到实际传入的参数数量,则使用arguments.length即可。

1.1.2. call
1.1.3. apply
1.1.4. caller

caller对象是JavaScript函数的一个属性对象,它表示调用当前函数的函数。换句话说caller返回一个函数引用,该函数调用了当前正在执行的函数。用法如下:

functionName.caller

其中functionName是当前执行函数的函数名称。对于函数来说,caller属性只有在函数执行时才存在。如果函数是由顶层调用的,则caller为null,如果是由其它函数调用了该函数,则caller返回调用函数的反编译文本。

例子1:

function sayHello(){

if(sayHello.caller){

var ca = sayHello.caller.toString();

alert(ca);//输出调用函数test()的文本内容

}

}

function test(){

sayHello();

}

test();

例子1通过test函数调用sayHello函数,sayHello函数中的sayHello.caller返回调用函数test的反编译文本:

function test(){

sayHello();

}

1.1.5. callee

callee 属性是 arguments 对象的一个成员,它表示对函数对象本身的引用,这有利于匿名函数的递归或者保证函数的封装性。

[function.]arguments.callee

可选项 function 参数是当前正在执行的 Function 对象的名称。

例子1:

function sayHello(){

alert(arguments.callee);//输出函数sayHello的文本内容

alert(arguments.callee.length);//形参个数

alert(arguments.length);//实参个数

if(arguments.callee.length == arguments.length){

alert(‘形参个数与实参个数相等,可以进行计算’);

……

}

}

sayHello();

callee拥有length属性,这个属性有时候用于验证还是比较有用。arguments.length是实参长度,arguments.callee.length是形参长度,由此可以判断调用时形参长度是否和实参长度一致。

js不常用但实用的JavaScript超级技巧 JavaScript 是一种应用场景多且功能强大的语言,对于现代 Web 开发至关重要。以下是一些超级技巧,它们将帮助你成为更高效、更有效的 JavaScript 开发人员,每个技巧都有详细的解释和示例。提示:以下是本篇文章正文内容,下面案例可供参考。 阅读详情

相关推荐

JavaScript入门一(JS基础知识)

文章目录一、JavaScript是什么二、网页组成2.读入数据总结 一、JavaScript是什么        JavaScript(简称“JS”)百度解释如下: 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。   &

qq_44872688的博客 3034

JS不常用函数整理

原文:http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000$(function(){ test1(); test2(); test3(); test4(); test5(); test6(); test7();...

weixin_34308389的博客 124

JavaScript的起源?不同的JavaScript和引擎?JS版本发展史?

1995年,JavaScript诞生了。不得不提到它的标准ECMAScript, 它是一个语言标准,而非具体的语言。JavaScript除了名字有”Java”, 其它和Java没任何关系。Netscape为推广自家的LiveScript,命名中包含当时最流行的编程语言Java来蹭蹭热度。Netscape公司有些人可能不熟悉, 它就是早期被IE做浏览器对抗后来逐渐消亡一家公司。

编程语言开发、框架原理、编程思想、最佳实践技巧经验分享。致力于各种编程技术的技巧经验干货分享,讲解开发避坑技巧,追踪开发前沿技术,实战展开解决难题。 程序员小迷助您在编程路上越走越好! 2160

自己关于学习js的一些经历

做为一名前端,相信许多初学者都会遇到这个问题:js学不会,不知道该怎么学习,不知道如何提高。在这里和大家分享一下自己的学习过程吧。现在前端这门职业已经日趋成熟,自学出身加上培训机构的批量生产,市场上的前端工程师已经有过剩的趋势,剩余的都是刚培训出来或者自学时间短的,真正的前端依旧稀缺。关于什么是真正的前端,这里有一篇文章可以去了解一下,http://www.wufangbo.com/que-qia...

web_xyk的专栏 9615

别再到处找DEM了!手把手教你免费下载90米、30米、12.5米全球高程数据(附国内网盘链接)

本文详细介绍了如何免费获取全球90米(SRTM3)、30米(ASTER GDEM)和12.5米(ALOS)高精度DEM数据,并提供了国内网盘链接以绕过国际平台访问障碍。通过对比不同数据源的特点和适用场景,帮助用户根据项目需求选择最合适的DEM数据,同时分享了数据处理和质量提升的实用技巧,实现从数据获取到应用的无缝衔接。

weixin_28725949的博客 669

Anomalib实战:5分钟搞定图像异常检测模型训练(附完整代码)

本文提供了一份基于Anomalib框架的图像异常检测快速实战指南。文章详细介绍了从环境搭建、数据准备到模型训练与推理的完整流程,重点推荐了训练速度快、效果稳定的PatchCore模型,并附带了可运行的完整代码,旨在帮助开发者快速上手工业质检等实际应用。

weixin_29039773的博客 420

不常用JS函数

1,eval:可计算某个字符串,并执行其中的的 JavaScript 代码 https://www.w3school.com.cn/jsref/jsref_eval.asp 2,arguments.callee:用于引用该函数的函数体内当前正在执行的函数 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/arguments/callee ...

qq_46068142的博客 157

Windows版MySQL8.4.2LTS解压直用(下载免安装-绿色-项目打包直接使用-含卸载)

安装前运行微软常用运行库全集(也可能称为依赖)关于MySQL8中相关参数配置,可通过。选择8.5.2LTS长期服务版。选中密码,右键会直接复制。

xzzteach的博客 1439

VUE 不常用 却很有用的一些方法

<style type="text/css"> [v-cloak] { display: none; /* v-cloak这个属性会在页面渲染前作用于对应dom 在渲染完毕这个里面的样式将被移除 */ } </style> </head><div id="demo"> <ul v-cloak&g

a1178013314的博客 1199

灯塔问题:贪心与动态规划算法解析

区间覆盖问题是算法设计中的经典案例,常用于理解贪心算法与动态规划的核心差异。贪心算法通过局部最优选择逐步构建全局解,具有O(n log n)的高效时间复杂度,特别适合处理一维区间覆盖场景。动态规划则采用自底向上的填表法,虽然通用性更强但复杂度较高。在实际工程中,这类算法广泛应用于无线基站部署、监控设备布置等资源优化场景。通过分析灯塔问题的两种解法,可以深入掌握算法选择的关键因素,如问题规模、性能要求和实现复杂度。

weixin_28720573的博客 259

自监督学习原理与代码实战案例讲解

自监督学习原理与代码实战案例讲解 作者:禅与计算机程序设计艺术 1. 背景介绍 1.1 自监督学习的起源与发展 1.1.1 监督学习的局限性

AI天才研究院 623

一些很实用但是JavaScript没有提供的函数

moveElement:对元素进行移动 function moveElement(elementID,final_x,final_y,interval){ //elementID是要移动元素的ID,final_x和final_y要移动到的位置,interval是移动时间间隔 //安全检查 if(!document.getElementById) return false ; if(!do

MrMrs的专栏 602

TC8:SOMEIPSRV_SD_MESSAGE_07-09

TTL为服务实例的生命周期。在此生命周期之后,不提供服务实例。

jasonj333 907

原生JS(JavaScript)

JS 是JavaScript的简述 JS基于对象和事件驱动脚本语言,作用在浏览器上 JS的事件 onsubmit 主要用于表单的提交,绑定的位置在form标签里面,要有返回标记,如果提交的数据校验未通过,不允许表单提交 onload 用于页面加载的时候使用的事件,绑定的位置在body标签里,也可以用window.οnlοad=function(){} onclick/ondblclick 主要用于鼠标点击事件,常见的有按钮、图片、文字、超链接等等 onfocus/onblur 聚焦离焦事件,主要用

断肠人在刷牙〃的博客 9392

华为OD机试真题2026双机位C卷 Python&JS 实现【明日之星选举】

给定一组选票votes。votes[i]代表第 i 张选票的内容,包含一个字符串"zhangsan,hanmei",表示推荐zhangsan为明日之星,反对 hanmei 称为明日之星。赞成或反对使用逗号(,)分割。 给定一个数组n,表示最后将筛选出赞成票最多的n个人,如果赞成票相同,则反对票越少,排序越靠前;如果赞成票和反对票都相同,则按照姓名字典序升序排序。

MISAYAONE的博客 318

【保姆级教程】YOLOv8_OBB旋转目标检测:训练自己的数据集

【保姆级教程】YOLOv8_OBB旋转目标检测:训练自己的数据集

m0_51579041的博客 1万+

黑马JS教程笔记(JavaScript教程)——JS基础

<head><title>JavaScript练习</title></head><body><script></script></body>

Dontla的博客 2653

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

前端——JavaScript(JS)代码基础

前端中的JavaScript代码基础

2402_88087197的博客 2887

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

js常用函数总结

本文整理了JavaScript常用的核心函数,涵盖基础操作、数组、字符串、对象、日期和正则表达式等场景。

0.0的博客 1800

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【Node.js】使用 Node.js 需要了解多少 JavaScript?

总的来说,使用 Node.js 开发并不要求你掌握所有 JavaScript 的高级知识,但了解 JavaScript 的基础和异步编程的核心概念,将大大提高你的开发效率。通过不断学习和实践,你将能够利用 Node.js 构建出高效、可扩展的应用程序。希望本文能帮助你了解在学习 Node.js 之前需要掌握的 JavaScript 知识,帮助你在 Node.js 的开发路上走得更远。祝你编码愉快!

佚名程序员 1931

【JavaScript】JS语法入门到实战

Javascript语法的基本讲解。

大三小白C++进阶之路 2572

JavaScript(JS)的简单了解

JavaScript(JS)的简单了解

m0_68989458的博客 3047

js---javaScript基础知识

javascript是脚本语言,这门语言可用于html和web。 javascript是一种轻量级的编程语言。 是可以插入html页面的编程代码,插入后,通过浏览器执行。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> doc.

A123ppleQueen的博客 2078

【JavaScript基础】JS函数

函数定义、调用、参数、返回值、作用域

DUMG 992

JavaScript 前端枚举库 js-enumerate

前端枚举类Enum对象可在JavaScript中使用,用于枚举定义,前端组件单选、多选等的options选项的定义。

带着Bug看世界 2591
上一篇: Javascript基础——详解prototype
下一篇: Hibernate入门实例——动态组件(Dynamic components)
weoln
博客等级 码龄21年 43粉丝 123原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值