发表于: 2017-02-13 20:02:15
1 1170
js有哪几种传参方式
1.背景介绍
js函数的参数与大多数其他语言中函数的参数不同,它不介意传递进来多少个参数,也不在乎传递进来参数是什么数据类型。也就是说,即便你定义的函数只接收两个参数,在调用这个函数式也未必一定要传递两个参数。另外,所有函数的参数都是按值传递的。
2.知识剖析
几种常见的传参方式
1,localStorage和sessionStorage
将数据存储在localStorage中,如果不使用removeItem()或者delete删除,或者用户未清楚浏览器缓存,数据会一直保留在磁盘上,一般它的大小有5M的限制。另外,要访问同一个localStorage对象,页面必须来自同一个域名(子域名无效),使用同一个协议,在同一个端口上
而数据存储在sessionStorage中,该数据只保持到浏览器关闭,因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储
他们都属于storage类型,因此拥有storage类型的方法
保存数据:setItem(key,value);
读取数据:getItem(key);
删除单个数据:removeItem(key);
删除所有数据:clear();
得到某个索引的key:key(index);
2,cookie传递参数
HTTP Cookie,通常直接叫做cookie,Cookie是浏览器访问服务器后,服务器传给浏览器的一段数据。 浏览器需要保存这段数据,不得轻易删除。此后每次浏览器访问该服务器,都必须带上这段数据
3.常见问题
还有什么其他传递参数的方式?
4.解决方案
使用url传递参数
URL地址传递参数方式在我们Web页面程序处理中非常常见,其形式是在页面地址后面附带参数的方式浏览页面,如:“task.html?room=301&name=哈哈”,其中“room=301”即我们传递的参数名称和值。URL地址方法可以很方便的在页面之间切换并传递参数,无需额外的处理,基于正常情况下不会产生性能损失。用?将url和参数分隔开,用&分隔多个参数。那么,我们该如何在JS文件中获取URL中的参数呢?应该通过location.search方法取得URL中的参数部分,然后再进一步处理得到
5.编码实战
6.扩展思考
还有其他的传参方式么
7.参考文献
博客http://www.cnblogs.com/SunShineKG/p/6092700.html
8.更多讨论
什么情况下适用以上的传参方式
评论