请帮我解释一段js代码

在.net的mvc项目的.cshtml文件里看到如下代码,是什么意思,请解释下:window.__mc={cfg:{}};@Html.Raw(string.Format(... 在.net的mvc项目的.cshtml文件里看到如下代码,是什么意思,请解释下:

window.__mc = {cfg: {}};
@Html.Raw(string.Format("window.__mc.cfg.curUserId = '{0}';", c.UserId))
展开
 我来答
百度网友5e99258cf
推荐于2016-08-05 · TA获得超过1687个赞
知道大有可为答主
回答量:1299
采纳率:71%
帮助的人:693万
展开全部
window.__mc = {cfg: {}}; //声明一个全局对象__mc,然后__mc的值等于cfg:{}还是一个对象
@Html.Raw(string.Format("window.__mc.cfg.curUserId = '{0}';", c.UserId)) //@Html.Raw这个不是知道是哪的~但是肯定不是原生JS的,可能是其他插件的属性或者方法,这个你需要自己找找了,然后后面string.Format这个也不是原生JS的,可能是扩展了string对象加的Format这个对象,具体看定义~!后面就是穿的参数了,__mc.cfg.curUserId = '{0}' //curUserId就是cfg的键,后面的{0}就是值,再后面就是其他参数了,这里看不出来~
追问
Html.Raw()是MVC的一个HTML辅助方法,这个我知道的,还有string.Format()这里也不用解释,我只想问问JS有关的代码,那个全局对象里定义了cfg:{}是什么意思,它怎么使用?还有string.format()方法的参数里面window.__mc.cfg.curUserId
这里的curUserId你说是cfg的键,这个键是哪来的,在哪定义的?谢谢!
追答
cfg:{}这个就是__mc的一个键值对啊~JS中对象是这么声明的

obj={}或者obj=new Object();这两种方式都是声明一个obj对象,然后对象中的值都是类似于这样的:
obj={
a:"a的值", //这里A的值是一个字符串

b:123, //这里B的值是一个数字(整形)
c:{}, //这里C的值又是一个对象(对象中可以包含对象的)

d:function(){} //这里D的值是一个函数(也就是obj的一个方法,函数也属于对象)

}
那理解了上面的东西的话你就应该知道cgf是什么意思了~就是一个空的对象。
curUserId这个东西就是cfg的键了~它的值就是"{0}"这里加了引号,是字符串~

curUserId这个东西你没看到在哪定义是吧~其实JS的对象是支持动态创建键值对的,也就是说curUserId可以不用定义,使用的时候直接写上就行,那么你再打印出来__mc这个对象的时候就成了

__mc={
cfg: {
curUserId:"{0}"
}

}

就是这个样子了~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式