JS中同名参数如何影响函数参数传递及实例行为?

更新于
2026-09-26 18:20:01
0阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计708个文字,预计阅读时间需要3分钟。

JS中同名参数如何影响函数参数传递及实例行为?

原文示例讲述JS函数参数的传递与同名参数。

改写后内容:函数参数传递及同名参数解析:函数参数若为原始类型,传递方式为值传递;若为引用类型,传递方式为引用传递。

本文实例讲述了JS函数参数的传递与同名参数。分享给大家供大家参考,具体如下:

函数参数的传递

JS中同名参数如何影响函数参数传递及实例行为?

函数参数如果是原始类型值,传递方式是值传递。这意味着,在函数体内修改参数值,不会影响函数外部。

var p = 2 function f(p) { p = 3 } f(p) p // 2

上面代码中,变量p是一个原始类型的值,传入函数f的方式是值传递,因此在函数内部,p的值是原始值的拷贝,无论怎么修改,都不会影响到原始值。

但是,如果函数参数是复合类型,传入函数的方式是引用的传递,也就是说,传入函数的是一个地址,因此在函数内部修改参数,将会影响到原始值。

var obj = { p: 1 }; function f(o) { o.p = 2; } f(obj); obj.p // 2

上面代码中,传入函数f的参数对象obj的地址。因此,在函数内部修改obj的属性p,会影响到原始值 。

注意,如果函数内部修改的,不是参数对象的某个属性,而是替换掉整个参数,这时不会影响到原始值 。

阅读全文

本文共计708个文字,预计阅读时间需要3分钟。

JS中同名参数如何影响函数参数传递及实例行为?

原文示例讲述JS函数参数的传递与同名参数。

改写后内容:函数参数传递及同名参数解析:函数参数若为原始类型,传递方式为值传递;若为引用类型,传递方式为引用传递。

本文实例讲述了JS函数参数的传递与同名参数。分享给大家供大家参考,具体如下:

函数参数的传递

JS中同名参数如何影响函数参数传递及实例行为?

函数参数如果是原始类型值,传递方式是值传递。这意味着,在函数体内修改参数值,不会影响函数外部。

var p = 2 function f(p) { p = 3 } f(p) p // 2

上面代码中,变量p是一个原始类型的值,传入函数f的方式是值传递,因此在函数内部,p的值是原始值的拷贝,无论怎么修改,都不会影响到原始值。

但是,如果函数参数是复合类型,传入函数的方式是引用的传递,也就是说,传入函数的是一个地址,因此在函数内部修改参数,将会影响到原始值。

var obj = { p: 1 }; function f(o) { o.p = 2; } f(obj); obj.p // 2

上面代码中,传入函数f的参数对象obj的地址。因此,在函数内部修改obj的属性p,会影响到原始值 。

注意,如果函数内部修改的,不是参数对象的某个属性,而是替换掉整个参数,这时不会影响到原始值 。

阅读全文