js中的参数传递
注意:js中的参数遵从值拷贝原则,那到底什么是值拷贝呢?我们根据代码好好分析一下就明白了
1.对于基本数据类型
在js中,使用函数的时候如果参数是基本数据类型
注意请看上面代码的输出情况,第一个输出的是200,第二个输出的100,所以这就是所谓的值拷贝,就是相当于参数num在函数内部新创建了一个num变量,可以这样理解当外面的参数传递进来之后外面的变量已经和函数内部没有关系了。所以会输出一个200,一个100.
2.对于引用数据类型
在js中如果参数是引用数据类型,那么传递的就是引用数据类型的指针。说到指针就会涉及到栈,堆等等内容,这里不做其他内容的过多介绍。暂时可以记住:引用数据类型在内存的栈空间中存储的是指针,在堆空间中存储的是指针指向的内容。
观察上面的代码可以看出当参数obj传递进入函数之后,如果函数内部对obj进行了操作,那么原来的obj也会发生改变。
3.总结
上面的两种情况就是在js中传参的原则,也就是所谓的值拷贝,其实我觉得其实只要记住一点引用数据类型传递是指针就可以啦。本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
