目的是如果一个变量是已声明未赋值,就可以直接赋值;并且不能改变变量的作用域
如果未声明的话,就重新声明,
在网上搜了下,常见的方法是if(typeof(a)=='undefined'){var a='ss';},
但是这种方法对未声明或已声明未赋值的变量都会返回true。而且如果是这样:
复制代码 代码如下:
var a;
function f(){
if(typeof(a)=='undefined')
{var a=1;}
}
f();
console.log(a);
会显示undefined,因为f()里面只是声明了一个同名的局部变量。
但是如果是已声明未赋值的变量:if(noValueV==null),会返回true;
未声明的变量:if(noDeclareV==null),会报错。
所以可以这样:
复制代码 代码如下:
function f( ){
if(typeof(v)=='undefined'){
try{
if(v==null)//说明v是已声明未赋值
v=1; //如果v是全局变量,这样不会改变它的作用域
}
catch(err){//说明v是未声明
var v;v=2;
}
}
console.log(v);
}
f( );
这样也是不对的,因为js有‘声明提前'的特性,即函数内声明的变量在这个函数里和这个函数的子函数里都是可见的,不管它具体是在函数内的哪个位置声明的。
所以由于上面里的var v;导致不管哪种情况都是只走try。
修改一下:
复制代码 代码如下:
function f( ){
if(typeof(v)=='undefined'){
try{
if(v==null)//说明v是已声明未赋值
v=1; //如果v是全局变量,这样不会改变它的作用域
}
catch(err){//说明v是未声明
eval('var v');v=2; //这里不一样
}
}
console.log(v);
}
f( );
这样就可以了。
写成一个判断函数,返回'noDeclare'表示变量未声明,'noValue'表示变量已声明未赋值,'hasValue'表示变量已声明已赋值:
复制代码 代码如下:
function f(v){
if(typeof(v)=='undefined'){
try{
if(v==null)
return 'noValue';
}
catch(err){
return 'noDeclare';
}
}
else return 'hasValue';
}
var a;
console.log(f(a));
a=0;
console.log(f(a));
console.log(f(b));
又错了......console.log(f(b));时会报错......
相关推荐:
SEO努力:提升网站排名的关键策略,网站建设微企动力
用AI写文章:效率与创意的完美结合
AI一键生成原创文章,让创作更高效更轻松!
ChatGPT的诞生,预示着人工智能大规模应用的时代已经来临,ai此生不渝
SEO兼职:如何通过SEO兼职实现收入增长与职业突破,濮阳网站建设官网
ChatGPT破解版电脑:如何获得更强大的AI助手,提升工作与学习效率,ai预设动画
在线AI生成文章:智能写作的未来趋势
SEO更多-让你的企业站点在搜索引擎中脱颖而出,如何结交seo大神
ChatGPT安装包Windows版-让智能助手触手可得,q和ai
AI做文章:引领智能创作的未来
优化平台:让数字化转型更简单、更高效,莆田谷歌seo品牌排行
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
seo要学什么技术,seo要学什么技术好 ,ai.fale
产品经理seo是什么,产品经理seo是什么意思 ,ai政府公文写作 软件
打破创作边界,无限可能无限制生成文章的AI
seo相关知识是什么,seo相关技术 ,ai写作讯飞星火认知大模型
SEO伪创:提升网站排名的危险策略与如何避免,怎样介绍社交网站推广
AI代谢文章:从灵感到成果的创作革命
seo进阶买什么书运营,seo入门难吗 ,没有ai软件怎么打开ai图片
用AI写科普文章:科技改变写作的未来
ChatGPT页面空白无法登录?如何解决这一困扰?,温州ai字幕生成
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
ChatGPT的梯子:突破网络壁垒,畅享智能对话的全新体验,ai的音标1001ai的音标
优方法-高效生活与工作的秘密武器,钻石营销推广方案
SEO代做:让你的企业轻松登顶搜索引擎,快速提升曝光率,seo 提高注册量
GoogleSEO打满分自然流量会高吗?揭开SEO优化的真相,猪插画ai
AI免费工具:提升效率与创意的秘密武器
SEO非常:如何利用SEO提升网站排名与流量,助力品牌快速成长,绥化短视频营销推广
SEO搜索关键词是什么意思?让你轻松网站流量的秘密!,ai颜色不对
seo网络推广是什么,seo网络推广是什么意思 ,ai哪里注音
优化页面-提升用户体验与搜索引擎排名的关键,绍兴视频营销推广
SEO量:提升网站流量和排名的关键法则,德兴seo
二次创作的魅力与潜力:创意无限的数字时代,天长外贸网站建设
SEO网:让你的数字营销更加精准高效,开启网络引流新时代,丰县互联网网站推广优势
AI免费免登录:轻松体验人工智能的魔力,无需繁琐注册,华为AI音箱2音质如何
ChatGPTO1Pro模型:开启AI新纪元,免费应用带来无尽可能,苹果上的ai写作在哪里
AI仿写文章:开启内容创作新纪元
2024年AI写文章生成器推荐:让创作轻松高效,提升写作水平
企业SEO:如何通过搜索引擎优化提升企业网络竞争力,安阳网站优化布局设计
SEO网络营销:如何通过精准优化提升品牌价值,青州建设网站电话
“爱站”:开启网站优化与流量增长的新纪元,seo入门ppt
AI工具,让工作效率翻倍:AI工具教程全面解析
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
ChatGPT+维护页面:您的智能助手之旅,安全、高效、无忧,奥特曼画图ai
seo配置是什么,seo设置是什么 ,ai图标制作教程
ChatGPT网站突然不能用了?如何快速解决这个问题,让你重新畅享AI对话!,ai新建多个画板
ChatGPT不能访问,我的学术水平直线下降,泰州大数据ai艾灸价格
seo追词是什么,seo词条 ,52580609AI
用AI优化文章,轻松提升内容质量与创作效率
SEO王:掌控搜索引擎优化的至高法则,助力企业飞速腾飞,网站动作优化在哪里下载