函数的属性length、prototype和方法call()、apply()

【ECMA262学习系列(一)】函数对象详解(Function Object) Table of Contents 直接调用 Function() Function(p1, p2, ..., pn, body) Function 的构造器对象(The Function Constructor) new Function(p1, ..., pn, body) 执行过程 文字描述 伪码 图解 构造函数的属性(Properties of The Function Cons... 阅读详情

函数的属性length、prototype和方法call()、apply()
length指的是该函数所期望传递进来的参数个数。
function fun0(){}             //0
function fun1(num1){}         //1
function fun2(num1,num2){}    //2

//prototype

function MyObject(name, size)  {  

   this.name = name;  

   this.size = size;  

}  

var obj = new MyObject();

MyObject.prototype.color = "red";  

alert(obj.color);  //red

MyObject.prototype.color = "green";

alert(obj.color);  //green

 

可以说,prototype实际上是“引用”,而非“赋值”。也就是给一个类添加一个属性或者方法,是给它添加了个引用,而非赋值一份给它。

call和apply是可以通过函数名称来调用函数
对于apply而言:
有两个参数,第一个是调用的上下文,第二个是参数数组,可以直接把arguments传递进去
对于call而言:
第一个参数是上下文对象,后面的参数是函数参数

function sum(num1,num2){return num1+num2;}

function callSum1(num1,num2){
  //使用sum这个函数来完成一次调用,调用的参数就是callSum1这个函数的参数
 ` return sum.apply(this,arguments);
   //相当于:return sum.apply(this,[num1,num2]);
}

alert(callSum1(1,2)); //3

function callSum2(num1,num2){
  //call是通过参数列表来完成传递
  return sum.call(this,num1,num2);
}

alert(callSum2(1,2));              //3

 

海康威视摄像机SDK二次开发--提取音频保存至文件 由于最近在开发海康威视摄像头,特此记录一下如何提取音频数据,这里主要依靠语音对讲返回的音频数据,通过回调函数写入文件中,加个WAV头即可播放,编码格式可以自己设置在代码中有注释 文件结构 其中CameraInfo内容可以参看海康威视摄像机SDK二次开发–实时预览视频流保存到指定文件中 HIKSDKSaveRealData中的内容 package ClientDemo; import ClientDemo.CameraInfo; import com.sun.jna.NativeLong; import 阅读详情

相关推荐

从Stereo-seq原始数据到Seurat对象:华大空间转录组分析流程实战解析

本文详细解析了从Stereo-seq原始数据到Seurat对象的完整分析流程,重点解决华大空间转录组数据处理中的三大痛点:bin_size参数设置、批量处理内存管理及格式转换信息丢失。通过Python的stereopy库和R的SeuratDisk包,实现.gem到.h5ad再到.h5seurat的高效转换,为研究者提供了一套可复用的空间转录组分析解决方案。

weixin_30315723的博客 217

别再死记硬背了!用Python模拟囚徒困境和拍卖竞价,5分钟搞懂博弈论核心概念

本文通过Python代码实战演示博弈论核心概念,包括囚徒困境和拍卖竞价模型。通过不到50行代码构建经典博弈场景,可视化策略互动结果,帮助读者直观理解纳什均衡和理性决策。文章还探讨了重复博弈中的策略演化及博弈论在算法设计中的应用,为开发者提供实用的学习工具。

weixin_30443731的博客 523

LinuxCNC---在PC端显示开发板LinuxCNC界面

  今天在调试开发板时,执行开发板上的linuxcnc指令,总是出现如下报错 LINUXCNC - 2.9.0~pre0 application-specific initialization failed: couldn't connect to display "192.168.137.3:1" Error in startup script: invalid command name "image" while executing "image create photo -file $f/$i

中华田园巨龙 3470

关于apply属性使用的一些例子

<br />   前些天根据在ZK官网上找了些关于apply的使用例子,例子很简单。但是还是受益<br />匪浅。为避免忘记,做下详细的代码记录:<br />  <br />ZUL 文件:<br /><zk> <!--方式一 <window title="composer1 example" width="300px" apply="com.ui.MyComposer" border="normal"> --> <!--方式二 <window title="composer1 example" wi

tan_dan的专栏 1802

告别硬件!用Wokwi在线模拟ESP32点灯,5分钟搞定开发环境搭建

本文介绍如何使用Wokwi在线模拟器快速搭建ESP32开发环境,5分钟内完成点灯实验。无需硬件即可体验GPIO控制、PWM调光等核心功能,特别适合物联网开发初学者和快速原型验证。Wokwi的零成本、全功能模拟特性让嵌入式开发变得前所未有的简单高效。

weixin_42567497的博客 494

应用软件——Altium Designer 19 Gerber/坐标文件

如何输出Gerber文件 步骤如下: 打开需要输出的PCB文件 2. 设置原点坐标 3. 打开Gerber Files 选项,File–>Fabrication Opuputs–>Gerber Files。 4. General参数设置。 用于指定输出Gerber文件中使用的单位(Units)和格式(Format)。单位可以是公制(Millimeters)和英制(Inches);格式栏中2:3,2:4,2:5代表文件中使用的不同数据精度,其中2:3表示数据含2位整数3位小数;相应的,另外两个分

染血黑兔的博客 7203

函数方法apply()和call()

每个函数都包含两根非继承而来的方法:apply()和call().这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。 首先,apply()方法接收两个参数:一个是在其中运行函数的作用域,另一个是参数数组。其中第二个参数可以是Array的实例,也可以是arguments对象。例如: function sum(num1,num2) { retu...

FLQ77的博客 621

RK3568适配MIPI屏幕触摸,触摸延时很大

我用的是系统,接了一个,设备树已经正确配置,evtest测试坐标值和触摸位置都是准确的。但是出现了一个:我在屏幕上点一下,要等大约 2 秒才能在evtest里看到坐标事件打印。这种现象在 Goodix 系列触摸驱动里比较少见,一般意味着。

小灰灰的博客 1363

apply用法

大家好,好久不见,再次介绍下本人。中山大学,医学生+计科学生的集合体,机器学习爱好者。 最近发生了好多事,感觉天堂地狱随机切换,最终决定放过自己。 #一、数据集 data=pd.DataFrame({'A':[1,2,3,4],'B':[5,6,7,8],'C':[9,10,11,12]}) data1=pd.DataFrame({'A':['1_2','2_3','3_4','4_5'],'B'...

Yukyin 5929

SimpleITK使用——1. 进行Resample/Resize操作

文章目录1. 变换到一个新的spacing1.1 使用Resample()的方法1.1.1 完整代码1.1.2 转换前后图像1.2 使用ResampleImageFilter()的方法2. 已知原图和变换后目标图像的大小2.1 代码2.2 转换后图像3. 相关内容说明3.0 体素和spacing3.1 Resample() 函数说明3.2 itk::simple::ResampleImageFilter函数说明 1. 变换到一个新的spacing 1.1 使用Resample()的方法 1.1.1

啷个哩个啷 8081

inno setup自定义卸载程序和美化

也就是DisplayName,因为我们在第一步的时候,将卸载程序名称也写入了注册表,所以,我们直接从注册表读DisplayName字段即可。1.要实现inno setup自定义卸载程序,首先需要关闭自带的卸载程序。在[Setup]的字段关闭卸载程序步骤和页面。2.删除应用程序目录里能够删除的并且返回进度。3.自定义卸载程序相关的注册表信息。4.删除启动菜单栏和guid注册表。2.自定义快捷方式和程序菜单。

cs821984831的博客 2348

apply()和call()解析

JavaScript中每个函数都包含两个非继承而来的方法:apply()和call()下面是apply()和call()的定义及语法:/* * apply()方法 * 定义:应用某一个对象的一个方法,以另一个对象替换当前对象 **/ apply(this,arguments); apply(this,[arg1,arg2,...]);/* * call()方法 * 定义:应用某一个对象的一个方法,以

大白兔 821

YOLOv11改进 | Conv/卷积篇 | 轻量化多尺度异构卷积(MSHC)优化YOLOv11精度(全网独家首发)

本文介绍了Hype-YOLO提出的MANet结构,这是C3、C2f、C3k2的升级版,能显著增强特征提取能力。MANet整合了DSConv和C2f结构,通过多分支异构设计提升梯度流动和特征语义深度。文章详细解析了MSHC模块的原理,包括其多尺度并行建模、通道混洗等核心机制,并提供了完整的代码实现和训练教程。实验表明,Hype-YOLO的精度优于YOLOv11。该结构在保持轻量化的同时,通过异构分支设计实现了更丰富的特征表达,适用于目标检测等视觉任务。

Snu77的博客 949

JavaScript中函数的属性和方法(length、prototype、apply()、call()和bind())

函数内部属性 在函数内部有两个特殊的对象:arguments 和 this 。 arguments 的主要用途是用来保存函数参数,但这个对象还有一个名叫 callee 的属性,该属性是一个指针,指向拥有这个 arguments 对象的函数。 this 与 Java 中的 this 大致类似,引用的是函数执行的环境对象。 函数属性和方法 1. length length 属性表示函数希望接受的命名参...

TalonZhang的博客 400

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

(三)JavaScript-彻底理解函数:重载、内部属性{arguments[callee]、this、caller}、函数属性和方法{length、prototype、apply()、call()}

JavaScript-彻底理解函数:重载、内部属性{arguments[callee]、this、caller}、函数属性和方法{length、prototype、apply()、call()}

轮回的秋 302

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JavaScript函数的属性和方法

ECMAScript中的函数是对象,因此函数也有属性和方法。每个函数都有两个属性:length和prototype。length属性表示函数希望接收的命名参数的个数。每个函数都包含两个非继承而来的方法:apply()和call(),用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。apply()方法接收两个参数:一个是在其中运行函数的作用域,另一个是参数数组。第二个可以是A...

一只咸鱼 1259

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

红宝书总结-this,length,apply,call

this 引用的是函数执行的环境对象 window.color = "red"; var o = {color:"blue"}; function sayColor(){ alert(this.color); } sayColor();//"red" o.sayColor = sayColor; o.sayColor();//"blue" 复制代码 length:每个函数都包含两...

weixin_33859844的博客 186

方法apply作用于对象sort时失败_JavaScript中函数的属性和方法

JavaScript函数属性和方法函数属性和方法JavaScript中对象都会有属性和方法,函数是对象,因此函数也有属性和方法。每个函数都包含两个属性:length 和 prototype。其中,length 属性表示函数希望接收的命名参数的个数```function sayName(name){ alert(name);}function sum(num1, num2){ return num1...

weixin_39815943的博客 175

详解JavaScript函数属性、方法和构造函数

JS中,函数是值,对函数执行typeof运算会返回function,但是函数是JS中特殊的对象,也可以拥有属性和方法。

输入知识,消化知识,输出知识,分享知识,教人让我学习更好,业精于勤荒于嬉,行成于思毁于随 711

函数的属性、方法和构造函数

以下内容主要是 《JavaScript权威指南》第三版 -》第八章 函数=》8.7节的学习笔记,希望在学习的同时能给大家带来帮助。仅供参考。 函数是JavaScript中特殊的对象。函数也是对象,像其它对象一样也有属性和方法。甚至可以用Function()构造函数来创建新的函数对象。接下来的内容将介绍函数的属性、方法和Function()构造函数。 length属性 函数的length属性是

fly_zxy的专栏 1004

javascript基础从小白到高手系列七十七:函数属性与方法

如果在全局作用域中显式调用sayColor.call(this)或者sayColor.call(window),则同样都会显示"red"。这里,在sayColor()上调用bind()并传入对象o 创建了一个新函数objectSayColor()。对函数而言,继承的方法toLocaleString()和toString()始终返回函数的代码。在这个例子中,callSum1()会调用sum()函数,将this 作为函数体内的this 值(这里等于。函数还有两个方法:apply()和call()。

wanmeijuhao的博客 341

《权威指南》笔记 - 8.7 函数属性、方法、构造函数

函数是值。 函数是对象。 函数有方法和属性。length属性arguments.length指的是实际传入参数的个数 函数自身的length属性,指的是函数期望传入参数的个数。可以通过arguments.callee.length来获取prototype属性函数是对象,函数也有prototype属性 当函数被当作构造函数使用的时候,新创建的对象,将会从prototype上继承属性call()

奇克斯的发现王国 386

深入理解javascript函数系列第三篇——属性和方法

前面的话 函数是javascript中特殊的对象,可以拥有属性和方法,就像普通对象拥有属性和方法一样。甚至可以用Function()构造函数来创建新的函数对象。 一、属性 【length属性】:arguments对象的length属性表示实参的个数,而函数的length属性则表示形参的个数。 function add(x,y){ console.log(arguments....

AFeng521web 203

JavaScript函数(2)

文章目录函数内部属性argumentsthiscaller函数属性和方法lengthprototypeapply() 和 call() 、bind()apply()call()bind 函数内部属性 在函数内部,有两个特殊的对象: arguments 和 this。 arguments 它是一个类数组对象,包含着传入函数中的所有参数。虽然 arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,该属性是一个指针,指向拥有这个 arguments 对象的函数。 请看下面这

破茧 204

JavaScript权威指南之函数

闭包 词法作用域:函数的执行依赖于作用域,这个作用域是在函数定义时决定的,而不是在函数调用时决定的。 定义:当调用函数时的作用域和定义函数时的作用域不是同个作用域,就叫闭包。 var scoped = 'global scoped'; function getScoped () { var scoped = 'local scoped'; function func () { return...

Mount华的博客 359

三.javascript函数

(注:用法和c语言相同的部分这里不作赘述,敬请谅解) 1.定义函数 (1)function语句 不作赘述 (2)Fuction() 语法: var 函数名=new Function("参数1","参数2","参数3",...,"函数体"); 例如 var mysum=new Function("x","y","return x+y;"); document.write(mysum(1,2)); ...

weixin_61133168的博客 1474
上一篇: js:深入函数(函数是对象)
下一篇: js:对象的创建(为prototype做铺垫)
栖息
博客等级 码龄15年 64粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值