扫码关注官方订阅号
为什么,我把变量定义到匿名函数的外边会报错呢?
认证0级讲师
window.onload的值是一个函数,而titles是这个函数中的变量,并不是全局变量。所以curTab()中不能访问,如果想在curTab()中访问,可以将function curTab(){} 放到window.onload里,即
window.onload
titles
curTab()
function curTab(){}
window.onload = function (){ var titles = ...... // ..... function curTab() { // do something } }
function里面那那里是全局变量?你写成window.title = xxx也行啊
要不就直接在 fucntion 外面 var 一个
相当于 function onload(){ var a=0; dosome(); } function dosome(){ alert(a) //a is not defined } onload();
http://segmentfault.com/a/1190000003013952
onload本身也形成了一个内部作用域
你用$()包裹的就是jquery对象了,jquery对象没有getElementsByTagName方法 如果在jquery对象上使用原生js:
$()
jquery
getElementsByTagName
js
$('#notes-tit').get(0).getElementsByTagName('tagName');
当然直接用jquery更好咯:
$('#notes-tit li');
window.titles = xxx; ... for(var i = 0, i < window.titles.length; i++) {}
你这是函数中,不是函数外啊,准确的说,你在函数里声明了变量,所以外部没有函数中的作用域,所以是访问不到的。。。
不是函数外,titles 在 window.onload的回调函数里
你这不是全局变量,在function里定义的。怎么能叫全局呢?想想
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
window.onload的值是一个函数,而titles是这个函数中的变量,并不是全局变量。所以curTab()中不能访问,如果想在curTab()中访问,可以将function curTab(){}放到window.onload里,即function里面那那里是全局变量?你写成window.title = xxx也行啊
要不就直接在 fucntion 外面 var 一个
相当于
function onload(){
var a=0;
dosome();
}
function dosome(){
alert(a)
//a is not defined
}
onload();
http://segmentfault.com/a/1190000003013952
onload本身也形成了一个内部作用域
你用
$()包裹的就是jquery对象了,jquery对象没有getElementsByTagName方法如果在
jquery对象上使用原生js:当然直接用
jquery更好咯:你这是函数中,不是函数外啊,准确的说,你在函数里声明了变量,所以外部没有函数中的作用域,所以是访问不到的。。。
不是函数外,titles 在 window.onload的回调函数里
你这不是全局变量,在function里定义的。怎么能叫全局呢?想想