Javascript:将未定义的变量传递给函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript:将未定义的变量传递给函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1456字,纯文字阅读大概需要3分钟。
内容图文
![Javascript:将未定义的变量传递给函数](/upload/InfoBanner/zyjiaocheng/692/cf05274d7ced40fe8ff89a6f2b6c1bb3.jpg)
我有一些对AJAX的调用,我在其中返回一个JSON对象作为响应.此JSON对象始终具有相同的结构.但是,有时在某些情况下,如果PHP脚本失败,则JSON结构的某些对象未定义甚至不存在.
页面中存在一些“全局”变量并且我在某些JS文件中使用时也会发生这种情况,但是随后转到另一个页面,我使用这些JS文件,并且甚至没有写入该变量.
因此,我想创建一个函数is_defined(),我可以向该函数询问是否定义了变量.功能如下:
function is_defined(ob, can_empty){
if(can_empty === undefined || can_empty == '') can_empty = false
return ob !== undefined && ob !== null && (ob !== '' || can_empty)
}
因此,如果传递的变量为NULL或未定义,或者为空(并且不能为空),则返回false.
我的问题出在什至没有写入变量的时候,因为无法捕获到的Error:未定义的obj引发了错误,因此我无法将其传递给函数.
所以我的问题是,是否有什么方法可以创建一个函数来检查变量是否存在并已定义,因为我想将所有这些检查集中到一个函数中,而不要写obj!== undefined || obj!== null时不时地出现在我的代码上.
我认为使用双Not运算符(!!! obj)会转换为false,但是如果未写入变量,我将面临相同的问题.
编辑:
就像声明一样,这里的问题是能够对函数中未声明和未定义的变量进行检查,因此,无论是否声明了变量,我都可以在调用变量之前将变量传递给函数而无需对其进行检查.
谢谢大家的时间和回答!
亲切的问候!
解决方法:
[…] is there any way to create a function to check if a variable exists and is defined […]
不,那里没有.当您将变量传递给函数时,它将始终尝试解析该变量.如果未声明,将引发参考错误.
Relevant section from the ECMAScript specification.
在将变量传递给函数之前,必须检查该变量是否通过typeof声明.
内容总结
以上是互联网集市为您收集整理的Javascript:将未定义的变量传递给函数全部内容,希望文章能够帮你解决Javascript:将未定义的变量传递给函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。