当前位置:  编程技术>WEB前端
本页文章导读:
    ▪通过chrome查看response object内部结构       FB.api('/me/feed', 'post', { message: message_str }, function(response) { if (!response || response.error) { console.log(response.error); alert(response.error.message); // alert('Error occured'); } else.........
    ▪JQuery属性过滤器不完整       1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <script src="/blog_article/scripts/jquery-1.9.1.min.js"></script> 6 <style> 7 .ulcss { 8 background-color:gray; 9 font-size: 20px10 }11 </s.........
    ▪序列化带函数的JSON对象,让英雄做个完整的男人      var oHero = {name: 'zjx',age: 27,getSkill: function(type){ if(type == 'strength') console.debug('开山劈石掌'); }};console.debug(JSON.stringify(oHero);// 输出:{"name":"zjx","age":27}时空传送器除了故障,英雄出了时空门之后所.........

[1]通过chrome查看response object内部结构
    来源: 互联网  发布时间: 2013-11-06

FB.api('/me/feed', 'post', { message: message_str }, function(response) {
							  if (!response || response.error) {
							  	console.log(response.error);
							  	alert(response.error.message);
							    // alert('Error occured');
							  } else {
							    alert('Successfully published!');
							  }
							});


要找到response里面包含了哪些对象,可以在里面加入console.log(response.error),这样在chrome的Inspect Element里面的Console就可以看到object的结构了。


Ref:

http://stackoverflow.com/questions/10897544/fb-api-response-is-undefined

http://stackoverflow.com/questions/4743730/what-is-console-log-and-how-do-i-use-it

作者:hellobinfeng 发表于2013-3-4 20:56:22 原文链接
阅读:11 评论:0 查看评论

    
[2]JQuery属性过滤器不完整
    来源:    发布时间: 2013-11-06
1 <!doctype html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <script src="/blog_article/scripts/jquery-1.9.1.min.js"></script>
6 <style>
7 .ulcss {
8 background-color:gray;
9 font-size: 20px
10 }
11 </style>
12 <title>JQuery小技巧--属性过滤器不完整</title>
13
14 <!-- 新窗口打开页面 -->
15 <script>
16 <!-- 将所有以 http:// 开头的链接从新窗口打开 -->
17 $(document).ready(function(){
18 //动态添加控件
19 $("<li><a href='http://www.sohu.com'>搜狐网</a></li>").appendTo("div.ulcss>ul");
20 $("div.ulcss>ul").append("<li><a href='http://www.163.com'>网易</a></li>");
21
22 //JQuery [attribute=value] 属性过滤器,全字符匹配
23 $("a[rel='SelfViewOpen']").click(function(e){
24 //设置元素属性attr
25 $(this).attr("target","_self");
26 });
27 //JQuery [attribute!=value] 同 not([attr="value"])
28 //全字符匹配,取出属性以不包括指定字符串的元素
29 //取得不包含 http:// 字符串的并添加一段字符串
30 //[href*=value] 属性过滤,模糊匹配
31 $("a").not("[href*='http://']").append("<b>本地链接网站</b>");
32
33 //JQuery [attribute^=value] 取出属性以指定字符串开头的元素
34 $("a[href^='http://']").attr("target","_blank");
35 //JQuery [attribute$=value] 取出属性以指定字符串结尾的元素
36 $("a[href$='edu.cn']").css("background-color","red").append("--教育网");
37 });
38 </script>
39
40 </head>
41
42 <body>
43 <div > <span>网站导航</span><br/>
44 <ul>
45 <li> <a href="http://www.cnblogs.com" rel="SelfViewOpen" >博客园</a> </li>
46 <li> <a href="http://www.###.edu.cn">不好意思说</a></li>
47 <li> <a href="#">没有 http://</a></li>
48 </ul>
49 </div>
50 <div id="div_display"></div>
51 </body>
52 </html>

 

 

本文链接


    
[3]序列化带函数的JSON对象,让英雄做个完整的男人
    来源:    发布时间: 2013-11-06
var oHero = {
name: 'zjx',
age: 27,
getSkill: function(type){ if(type == 'strength') console.debug('开山劈石掌'); }
};
console.debug(JSON.stringify(oHero);
// 输出:{"name":"zjx","age":27}

时空传送器除了故障,英雄出了时空门之后所有技能消失,英雄变狗熊,世界不再和平……

你不能把责任归咎于传送门设计师,其实是操作人员不会用。

JSON.stringify方法的真身其实是这样的:

JSON.stringify(value [, replacer] [, space])

传送的关键是第二个可选参数,replacer,官方的解释如下;

可选项,一个函数或数组,用来转换结果。
如果replacer是函数,JSON.stringify会回调该函数,并传入key和value参数,这两个参数指向JSON中的每一个成员。函数中的返回值用来取代原始值。如果返回undefined,那么该成员项被排除。根对象的key是一个空字符串。
如果replacer是数组,那么数组中的成员项就是JSON的key键,只有数组中出现的key才会被序列化。序列化的顺序会按照数组中key的顺序排列。如果JSON的中某项的值是数组时,该replacer会被忽略。

尼玛翻译的我蛋都碎了,还是看下案例吧。

首先拯救我们的英雄:

console.debug(JSON.stringify(oHero, function(key, value){
if (typeof value === 'function') {
return value + '';
}
return value;
}));
// 输出:{"name":"zjx","age":27,"getSkill":"function (type){ if(type == 'strength') console.debug('开山劈石掌'); }"}

英雄再次走出时空门,深吸了一口不是很新鲜的空气,感觉浑身是力,然后对着一块石头使出开山辟石掌……“咔嚓”,手掌骨折……

英雄用另一只手推倒传送门旁的操作员妹子,含泪质问“这是怎么回事??”

其实你也别怪妹子,她少按了几个按钮而已。

妹子回去问师太,师太教导:

JSON.parse(text [, reviver])

reviver官方解释,请勿菊紧:

可选项,一个用来转换结果的函数。该函数将迭代对象中的每一个成员。如果一个成员项包含嵌套对象,会先转换被嵌套的对象。对于每一个成员项,将发生如下事件:
如果reviver返回的是合法值,成员项的值会被替换为该值。
如果reviver返回的值等同于接收的值,成员项的值不会被修改。
如果reviver返回null或undefined,成员项会被删除。

第三次,妹子对英雄说:这次萌大奶!

var oNowHero = JSON.parse(strHero,function(key,value){
if(value.indexOf && value.indexOf('function')>-1){
return eval("(function(){return "+ value +" })()")
}
return value;
});
oNowHero.getSkill('strength');
// 输出:开山辟石掌

英雄很满意的用双手推倒了妹子…………

后记:

JSON.stringify中的replacer还可以是一个数组。

英雄是很忙碌的,他不仅要拯救我们地球,还要拯救艾泽拉斯大陆,拯救外域,拯救崔斯特姆……不同的世界需要不同的装备,如果把所有装备带在身上那太痛苦了,不仅自己负担大,而且传输过程中还有可能阻塞,结果就是脑袋出来了,屁股还在通道里,那么我们可以做筛选:

var oHero = {
zjx: 'zjx',
age: 27,
earth: '机关枪',
Azeroth: '阿什坎迪兄弟会之剑',
NewTristram: '不朽之王的碎岩者'
};
var strHero = JSON.stringify(oHero, ['zjx','age','Azeroth']);
console.debug(strHero);
// 输出:{"zjx":"zjx","age":27,"Azeroth":"阿什坎迪兄弟会之剑"}

于是去艾泽拉斯的时候只带上AL即可。

JSON.stringify第三个可选参数用于格式化输出,没啥意思,不解释。

本文链接


    
最新技术文章:
▪css white-space:nowrap属性用法(可以强制文字不...
▪IE里button设置border:none属性无效解决方法
▪border:none与border:0使用区别
▪html清除浮动的6种方法示例
▪三个不常见的 HTML5 实用新特性简介
▪css代码优化的12个技巧
▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
▪小技巧处理div内容溢出
▪html小技巧之td,div标签里内容不换行
▪纯CSS实现鼠标放上去改变文字内容
▪li中插入img图片间有空隙的解决方案
▪CSS3中Transition属性详解以及示例分享
▪父div高度不能自适应子div高度的解决方案
▪告别AJAX实现无刷新提交表单
▪从零学CSS系列之文本属性
▪HTML 标签
▪CSS3+Js实现响应式导航条
▪CSS3实例分享之多重背景的实现(Multiple background...
▪用css截取字符的几种方法详解(css排版隐藏溢...
▪页面遮罩层,并且阻止页面body滚动。bootstrap...
▪CSS可以做的几个令你叹为观止的实例分享
▪详细分析css float 属性以及position:absolute 的区...
▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
▪CSS小例子(只显示下划线的文本框,像文字一...
▪可以给img元素设置背景图
▪不通过JavaScript实现的自动滚动视差效果
▪div+CSS 兼容小摘
▪CSS的inherit与auto使用分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3