如何理解jquery中花括号{xxx:"xxxx"}的问题

今天在敲代码的时候,被jquery中的花括号给困惑了,先贴上两段段代码:

//片段1
 $("#panel").hover(function(){
                $(this).animate({height:"150",width:"300"},200);
            })
            
//片段2
$('#send').click(function(){
            $.get('get1.php',{username:$('#username').val(),content:$('#content').val()},function(data,textStatus){
                $('#resText').html(data);
            });
        })

好了,现在问题来了,代码中 {height:"150",width:"300"}{username:$('#username').val(),content:$('#content').val()} 是什么格式???很显然不是json,因为里面的height、width等没有用双引号括起来,我猜是对象,里面的height、width就是字段,而整个花括号{}就是一个整体对象,这只是我的理解,不知道大神们的理解如何?

在线急等,谢谢各位!
阅读 4.9k
4 个回答

JSON (JavaScript Object Notation)
意为js对象标记语言

也就是说, json这东西是在偶然情情形下, 被人发现如此标记数据, 非常方便转化为js对象
最早的时候是通过 eval 实现解析的, 后来流行了, 又有了专门处理的JSON类和方法
JSON.parse()
JSON.stringify()

{height:"150",width:"300"}
{username:$('#username').val(),content:$('#content').val()}

// 这两个都是正常的JS语法表达, 第二句的效果相当于:
var uname = $('#username').val();
var cont = $('#content').val();
// 提前赋值和直接行内运算赋值, 效果一样的
var data = {username: uname, content: cont};

json是种数据流, 它的作用是数据传输, 它自然是写死的信息.
就好像你要和远方的亲人表达一句问候, 其实直接说话就可以, 但对方是听不到的, 所以, 要把你的声音转化成文字, 写在纸上, 寄给对方... 对方收到信后, 大脑需要对纸上的文字进行解析, 还原你要表达的声音.

你是否先接触的后台,再接触的JS, 对JS的理解, 感觉你被JSON迷惑了

对象字面量

这种基础问题,有空来网上等别人回答,不如找本书翻翻看。任何一本js入门级别的书籍都会讲这玩意儿。

而且既然你都猜测这是对象了,那么为什么不自己在浏览器里面跑跑看?打个断点,一看就知道了。
甚至于按下你的F12,对着这玩意儿{height:"150",width:"300"}依次按下ctrl + cctrl + v再外带敲个回车,这消耗的ATP可比你打这么多字点这么多链接少多了。

{height:"150",width:"300"}
{username:$('#username').val(),content:$('#content').val()}

这些是对象字面量
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题