新手求助:在函数里怎么判断函数外的变量是否定义 本帖最后由 wyy102489 于 2012-08-21 10:18:37 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没明白你要表单什么。。function outerfunc() { var mvar = 1; function innerFunc() { if (mvar == undefined) var mvar = 100;//如果你是要操作outerfunc的私有变量mvar,不要使用var定义mvar,要不这个mvar是innerFunc的变量了 console.log(mvar);//这里也是innerFunc的变量mvar }; innerFunc();}outerfunc(); 我就是想在innerFunc里面判断mvar是否已经定义了。如果没有定义那我就给它定义一个,赋个初值innerFunc中还会有很多用到outerFunc里的mvar的地方。所以我有必要先判断一下它是否已定义。。 而且如果那里不加var的话,就变成这样了if (mvar == undefined) mvar = 100;如果外面没有定义mvar,直接就报错了。。 if (typeof mvar == "undefined") mvar = 100; 厉害,原来这样可以既检测变量是否存在又避免检测时报错。但这样的话mvar就变成全局变量了。和我的第一种折衷办法效果是一样的了。 我已经看了两天作用域了。。就是因为有了一定理解才能提出这个问题和两种折衷方法的吧。。只是想看看大家有没有更好的方法而已。。目前自己觉得第二种折衷方法最能让我接受了。不会污染全局变量,而且把内部用到mvar的地方全部替换成_mvar也不是很难。 body的onload事件无效了 关于className属性.怎么删除先前加上的class类名 javascript 如何交换元素顺序? 高手来。。。很简单应该 如何让一输入框 在小数点后只能输入二位 jquery切换图问题 两个文本框 写入后 自动对比是否一至 应该用什么事件 firefox打开我的静态网页,一定要刷新才能看到更新过的内容,有什么办法解决? 事件不能执行的问题 在javascript中,怎么处理"\"?? 高分救助,关于JAVASCRIPT一问? Js==、===分别是什么意思? jQuery浏览器浏览时提示例外被抛出且未被接住的问题
function outerfunc() {
var mvar = 1;
function innerFunc() {
if (mvar == undefined)
var mvar = 100;//如果你是要操作outerfunc的私有变量mvar,不要使用var定义mvar,要不这个mvar是innerFunc的变量了
console.log(mvar);//这里也是innerFunc的变量mvar
};
innerFunc();
}
outerfunc();
我就是想在innerFunc里面判断mvar是否已经定义了。如果没有定义那我就给它定义一个,赋个初值
innerFunc中还会有很多用到outerFunc里的mvar的地方。所以我有必要先判断一下它是否已定义。。
mvar = 100;如果外面没有定义mvar,直接就报错了。。
mvar = 100;
但这样的话mvar就变成全局变量了。和我的第一种折衷办法效果是一样的了。
我已经看了两天作用域了。。就是因为有了一定理解才能提出这个问题和两种折衷方法的吧。。
只是想看看大家有没有更好的方法而已。。
目前自己觉得第二种折衷方法最能让我接受了。不会污染全局变量,而且把内部用到mvar的地方全部替换成_mvar也不是很难。