单页应用spa第三章总结

最近在看《单页Web应用 JavaScript从前端到后端》,看到最后一小节的时候,由于变量很多,有些看不懂了

就把变量一个一个打印出来进行分析,发现有一个值一直不知道从那里来的。

问题:点击红色框,打印stateMap.anchor_map的值

 

操作:console.log(stateMap.anchor_map)

描述:

       第一次打印时,数据是空的,这是正确的

       第二次打印时,出现两个数据chat和_s_chat,chat有值是正确的

       问题是不知道_s_chat 哪来的?

然后看到别人的博客上分析了jquery的插件uriAnchor,知道这个值哪来的了。

 

在《单页Web应用 JavaScript从前端到后端》中,对stateMap.anchor_map用到了赋值语句

出现_s_chat是$.uriAnchor.makeAnchorMap()的原因。

 

来源:博客(http://blog.csdn.net/fengyinchao/article/details/50642941)

$.uriAnchor.makeAnchorMap()方法

分析URL并生成一个映射,这个方法会在返回的映射里面为带有依赖值的独立值创建额外的键_s_<indendent_arg>,这些额外的键的值是一个独立值后面跟着所有的依赖值.

示例:
假如有如下anchor,

#!page=profile:uname,wendy|online,true&slider=confirm:text,hello|pretty,false&color=red

输出:

{ 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'
};

 

posted @ 2017-07-29 15:56  未央oo  阅读(155)  评论(0)    收藏  举报