最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js中函数参数的实现原理

来源:懂视网 责编:小采 时间:2020-11-27 19:33:36
文档

js中函数参数的实现原理

js中函数参数的实现原理:js中函数的形参和实参的实现是不同的,在进行参数传递的时候,有时候可能实参的传递可能与形参对不上号,那么怎么样才能将它们之间对上号呢?这是我们就需要对js中参数的实现原理进行研究了。我们都知道JS里面参数的传递是可以不一样的,比如我们有一个函数:
推荐度:
导读js中函数参数的实现原理:js中函数的形参和实参的实现是不同的,在进行参数传递的时候,有时候可能实参的传递可能与形参对不上号,那么怎么样才能将它们之间对上号呢?这是我们就需要对js中参数的实现原理进行研究了。我们都知道JS里面参数的传递是可以不一样的,比如我们有一个函数:

js中函数的形参和实参的实现是不同的,在进行参数传递的时候,有时候可能实参的传递可能与形参对不上号,那么怎么样才能将它们之间对上号呢?这是我们就需要对js中参数的实现原理进行研究了。

我们都知道JS里面参数的传递是可以不一样的,比如我们有一个函数:

<script type="text/javascript">
 function one(a,b,c) { 
 this.x = a;
 console.log(a);
 }
 one(1);</script>

我们传递的数字只有一个1,但是形参那里有abc三个。这分明对不上啊不是吗?

这个时候如果我们查看b,c的话会显示undefined。ps:比如console.log(b)。

当然啦,本来就没有这两个数。怎么找给你?

那面对这种实参和形参对不上号的情况,JS是怎么实现的呢?让我们来看一段代码:

<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>JavaScript中函数的形参和实参的区别</title></head><body>
 <script type="text/javascript">
 function one(a,b,c) { 
 return one.length;
 } function two(a,b,c,d,e,f,g){ 
 return arguments.length;
 }
 console.log(one()); //3 
 console.log(two()); //0
 </script></body></html>

这里我们在one函数里面返回了one.length,在two函数里面返回arguments.length。可能你已经发现了,输出的one()返回了one.length就是形参的数量,而argument.length就是实参的数量。


瞬间秒懂了有木有?

甚至我们可以用arguments[0]取到实参的数字。

但是为什么没有形参的数字可以用类似数组的方式这样表示呢?好吧,我知道你是处女座的凡事要求对称。除非你形参是数组你可以这样用。不然在函数里面我们就只能用形参的名字来取得实际的参数了。

在C#,Java里面对参数类型和个数相对JS来说要求十分严格,一点对不上就报错了。而JS就因为有这样的设计而可以变成相对灵活的语言。

上述方法就是JS依赖的不强制对形参和实参规定个数相等的实现了。至于类型的相同,JS什么类型都可以写成var a = ……,要类型何用?所以才说JS是一种弱类型的语言嘛!

相关推荐:

对js函数的实参,形参以及闭包的理解

js的函数声明和函数表达式的分析

文档

js中函数参数的实现原理

js中函数参数的实现原理:js中函数的形参和实参的实现是不同的,在进行参数传递的时候,有时候可能实参的传递可能与形参对不上号,那么怎么样才能将它们之间对上号呢?这是我们就需要对js中参数的实现原理进行研究了。我们都知道JS里面参数的传递是可以不一样的,比如我们有一个函数:
推荐度:
标签: 原理 实现 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top