Javascript 如何处理对象文本中的错误处理?
如何在对象文本中进行一些错误处理?Javascript 如何处理对象文本中的错误处理?,javascript,Javascript,如何在对象文本中进行一些错误处理? 至少我希望它能像这样工作: window.App={ Variables:{ "views_data": try{ json_parse(Drupal.settings.royal) } catch(e){ JSON.parse(Drupal.settings.royal) } } } 您可以使用立即调用的函数: window.App = {
至少我希望它能像这样工作:
window.App={
Variables:{
"views_data":
try{
json_parse(Drupal.settings.royal)
}
catch(e){
JSON.parse(Drupal.settings.royal)
}
}
}
您可以使用立即调用的函数:
window.App = {
Variables: {
views_data: (function(){
var data;
try{
data = json_parse(Drupal.settings.royal)
}
catch(e){
data = {}
}
return data;
}())
}
}
您可以使用立即调用的函数:
window.App = {
Variables: {
views_data: (function(){
var data;
try{
data = json_parse(Drupal.settings.royal)
}
catch(e){
data = {}
}
return data;
}())
}
}
由于try{…}catch(err){…}
是一种控制结构,因此不能在javascript中将其添加到对象文本中。根据您希望存储Drupal.settings.royal的位置,您可以这样编写对象:
window.App = {
Variables: {
views_data: null // this is optional
}
};
现在,当您的对象准备就绪时,您可以尝试向其添加解析的json:
try{
window.App.Variables.views_data = json_parse(Drupal.settings.royal);
}catch(err){
window.App.Variables.views_data = JSON.parse(Drupal.settings.royal);
}
漂亮干净。因为try{…}catch(err){…}
是一个控件结构,所以不能在javascript中将其添加到对象文本中。根据您希望存储Drupal.settings.royal的位置,您可以这样编写对象:
window.App = {
Variables: {
views_data: null // this is optional
}
};
现在,当您的对象准备就绪时,您可以尝试向其添加解析的json:
try{
window.App.Variables.views_data = json_parse(Drupal.settings.royal);
}catch(err){
window.App.Variables.views_data = JSON.parse(Drupal.settings.royal);
}
漂亮干净。1)使用立即调用的函数表达式
views_data : (function () {
var result = "",
json = Drupal.settings.royal;
try { result = json_parse(json); }
catch (e) { result = JSON.parse(json); }
return result;
}())
2) 除非您的json\u parse
有什么特别之处,否则我实际上建议您以另一种方式执行此操作——使用浏览器的json.parse
。本机实现将比您自己编写的任何东西都要快。如果JSON
不存在,那么回到手写解决方案。当然,如果您在实现中没有做任何特殊的事情,就可以使用立即调用的函数表达式
views_data : (function () {
var result = "",
json = Drupal.settings.royal;
try { result = json_parse(json); }
catch (e) { result = JSON.parse(json); }
return result;
}())
2) 除非您的
json\u parse
有什么特别之处,否则我实际上建议您以另一种方式执行此操作——使用浏览器的json.parse
。本机实现将比您自己编写的任何东西都要快。如果JSON
不存在,那么回到手写解决方案。当然,如果您在实现中没有做任何特殊的事情,就可以这样做。是的。但是这个问题是在对象文字中特别提出的,是的。但是这个问题在对象文本中特别说明。@Lix感谢您的编辑…所以这不是一个noob问题-P?不客气@jur!你的问题是否是“noob”取决于谁在真正阅读它。在任何情况下,我的编辑主要是为了更好地格式化代码,当我在编辑的时候,我删除了任何与手头实际问题无关的内容。当有人在一年左右的时间里看到这篇文章时,你是一名新的JS开发人员这一事实将无关紧要。请进一步了解帖子中的“噪音”。@Lix感谢您的编辑……所以这不是一个noob问题-P?不客气@jur!你的问题是否是“noob”取决于谁在真正阅读它。在任何情况下,我的编辑主要是为了更好地格式化代码,当我在编辑的时候,我删除了任何与手头实际问题无关的内容。当有人在一年左右的时间里看到这篇文章时,你是一名新的JS开发人员这一事实将无关紧要。让我们来了解一下,在帖子中什么是“噪音”。