javascript 函数需要两个参数,结果只传递了一个参数 还可以用
答案:2 悬赏:0 手机版
解决时间 2021-02-24 12:19
- 提问者网友:蓝莓格格巫
- 2021-02-23 12:33
特别奇怪有没有人看到过 javascript 箭头函数需要两个参数,结果只传递了一个参数 还可以用!!
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-02-23 14:02
这个函数的作用是对第一个参数进行格式化的。当然是根据第二个参数来格式化第一个参数了。
全部回答
- 1楼网友:老鼠爱大米
- 2021-02-23 14:46
一般使用return 传递所需使用参数<br>但需传递的参数多于一个时,则要使用object进行传递<br><br>例:(例子是转来的,个人觉得是很清晰且详细的~~~)<br><br>function setname(obj){<br> obj.name = "xiaoxiaozi";<br>}<br><br>var person = new object();<br>setname(person);<br><br>alert(person.name); // 返回 xiaoxiaozi<br>在向参数传递引用类型值时,会把这个值在内存中的地址复制给一个局部变量,因此这个局部变量的变化会反映在函数的外部。<br>ecmascript 中,所有函数的参数都是按值来传递的。基本类型值的传递和基本类型变量复制一致(采用在栈内新建值),引用类型值的传递和引用类型变量的复制一致(栈内存放的是指针,指向堆中同一对象)<br>因此在调用函数setname()时,person 被复制给了 obj ,因此在函数内部 obj 与 person 引用的是同一个对象,或者说是对同一个对象的引用。所以在给 obj 引用对象加上 name 属性时,person 引用的对象也有了 name 属性,因为虽然 obj 与 person 不同,但是二者引用的对象是同一个。<br>但是,千万不要认为,在局部作用域中修改的对象会在全局作用域中反映出来就说参数是按引用传递的。为了证明是值传递,让我们再来看如下例子:<br>function setname(obj){<br> obj.name = "xiaoxiaozi";<br> obj = new object();<br> obj.name = "admin";<br>}<br>var person = new object();<br>setname(person);<br>alert(person.name); // 结果依旧是 xiaoxiaozi<br>在调用 setname() 函数初时,obj 与 person 引用的是同一对象,所以首次的 name 属性赋值会对 person 有所影响。但是当 obj 被重新定义时,其引用的对象已经与 person 不同,所以后面设置的 name 属性,不会对 person 引用的对象有任何影响。<br>感觉上面的这个例子非常好,大家可以仔细体会一下。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯