请帮我解释一段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)) 展开
window.__mc = {cfg: {}};
@Html.Raw(string.Format("window.__mc.cfg.curUserId = '{0}';", c.UserId)) 展开
展开全部
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(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}"
}
}
就是这个样子了~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询