javascript 参数函数-了解 JavaScript 函数参数

2023-08-22 0 2,091 百度已收录

文章目录

参数的特征参数可以有0个或多个功能,并且参数不能写。 在正文中,请改用arguments[]。 在非严格模式下,arguments 对象的值和形参的值是单向同步的。 不明确的

第一个特点:

ECMAScript的参数内部是用链表表示的,函数接收到的也是一个链表,不管字段中包含什么参数(如果有的话)。 事实上,这个参数字段可以通过arguments对象来访问。 Arguments 对象类似于链表(不是 Array 实例)javascript 参数函数,因此您可以使用 [] 来访问每个元素。 您还可以通过arguments对象的length属性知道有多少个参数传递给函数。

第二个特点:

function setName() {
    console.log(arguments[0])//"Tom"
}
setName('Tom')

第三个特点:

function setName(name) {
    console.log(arguments[0]);//"Tom"
    arguments[0] = "jack";
    console.log(name); //"jack"
    name = "BOM";
    console.log(arguments[0]);//"BOM"
}
let name = "Tom";
setName(name);

第四个特点:

function setName(name) {
    console.log(arguments[0]);//undefined
    console.log(name);        //undefined
}
let name;
setName(name);

javascript 参数函数-了解 JavaScript 函数参数

变量访问

ECMAScript变量可能有两种数据类型的值:基本类型的值和引用类型的值。 基本类型的值指的是一个简单的数据段,而引用类型的值指的是一个可能由多个值组成的对象。

基本类型的值可以直接从堆栈访问javascript 参数函数,引用类型的值通过引用访问。 因为引用类型的值存储在堆内存的对象中,而JavaScript不允许直接访问堆内存中的位置,也就是说无法直接操作对象的显存空间。 当操作一个对象时,它实际上是对操作对象的引用,而不是实际的对象。

复制变量的值

基本类型的值之间进行复制时,复制的是值的副本,三者是完全独立的。

示例如下:

let num1 = 5;
let num2 = num1;

javascript 参数函数-了解 JavaScript 函数参数

引用类型的值之间的复制复制一个指针,该指针指向堆内存中的一个对象,并且三者引用同一个对象。

示例如下:

let obj1 = new Object();
let obj2 = obj1;
obj1.name = "JavaScript";
console.log(obj2.name); //"javaScript"

javascript 参数函数-了解 JavaScript 函数参数

传递参数

ECMAScript 中的所有函数参数都是按值传递的。 基本类型的值传递与基本类型的值副本相同,引用类型的值传递与引用类型的值副本相同。

将基本类型的值传递给参数时,传递的值将复制到局部变量(参数)。

function add(num) {
    num+=10;
    return num;
}
let count = 20;
let result = add(count);
console.log(count);  //20 说明count,num相互独立
console.log(result); //30 

当将引用类型的值传递给参数时,会将堆栈内存中的值的地址复制到局部变量中,因此该局部变量的更改将反映在函数外部。

function setAge(obj) {
    obj.age = 18;
}
let person = new Object();
setAge(person);
console.log(person.age); //18 说明obj,person指向同一个对象

参考书《JavaScript高级编程(第3版)》

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript 参数函数-了解 JavaScript 函数参数 https://www.wkzy.net/game/140901.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务