JavaScript问题:为什么访问不了全局变量?

functiondemo(){$(function(){kk=416465;})alert(kk)//为什么运行后alert()方法无法输出kk呢?kk不是一个全局变量吗... function demo()
{
$(function(){
kk=416465;
})
alert(kk) //为什么运行后alert()方法无法输出kk呢?kk不是一个全局变量吗
}

alert(kk)为什么访问不了kk=416465;
展开
 我来答
jamxval
推荐于2016-09-09 · TA获得超过6822个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1427万
展开全部
改成 window.kk = 416465; 就能得到了。

你这个叫“匿名函数调用”,变量本身只在 function(){ ... } 这个范围中有意义。

我们平时在写 JavaScript 时:
kk = 416465; 能访问那也是因为这个变量没有事先声明,就当成是把它定义在全局变量中,也就是相当于 window.kk = 416464;
追问
window.kk这样怎么理解??
追答
window.kk 就是全局变量了。
直接写 kk 就只是在当前作用域中的变量,因为你的当前作用域是一个函数,它就只在函数中起作用。

当我们在所有函数的外面写 kk = 614; 则这个作用域就是全局的。

所有的全局变量都被自动地当成是 window 对象的属性值。
匿名用户
2015-03-07
展开全部
kk怎么会是全局变量,你想错了
追问
什么全局变量呢?不是不用声明var就可以其他都可以访问了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式