最近在看《单页Web应用 JavaScript从前端到后端》,看到最后一小节的时候,因为变量不少,有些看不懂了javascript
就把变量一个一个打印出来进行分析,发现有一个值一直不知道从那里来的。前端
问题:点击红色框,打印stateMap.anchor_map的值java
操做:console.log(stateMap.anchor_map)jquery
描述:后端
第一次打印时,数据是空的,这是正确的ide
第二次打印时,出现两个数据chat和_s_chat,chat有值是正确的spa
问题是不知道_s_chat 哪来的?.net
而后看到别人的博客上分析了jquery的插件uriAnchor,知道这个值哪来的了。插件
在《单页Web应用 JavaScript从前端到后端》中,对stateMap.anchor_map用到了赋值语句3d
出现_s_chat是$.uriAnchor.makeAnchorMap()的缘由。
来源:博客(http://blog.csdn.net/fengyinchao/article/details/50642941)
分析URL并生成一个映射,这个方法会在返回的映射里面为带有依赖值的独立值建立额外的键_s_<indendent_arg>
,这些额外的键的值是一个独立值后面跟着全部的依赖值.
示例:
假若有以下anchor,
输出:
{ page : 'profile', _page : { uname : 'wendy', online : 'true' }, _s_page : 'profile:uname,wendy|online,true', slider : 'confirm', _slider : { text : 'hello', pretty : false }, _s_slider : 'confirm:text,hello|pretty,false', color : 'red' };