js容易出问题的地方

简介:

JavaScript 容易出问题的地方:

(1)把json 字符串转化为对象

Js代码   收藏代码
  1. var jsonStr='{"2":"1.2.3","3":"1.2.5"}';  
  2. var jsonObj2=eval("("+jsonStr+")");  

 注意:使用eval时,一定要在json字符串前后加上小括号

 

(2)

遍历js 对象属性

Js代码   收藏代码
  1. var jsonStr='{"2":"1.2.3","3":"1.2.5"}';  
  2. var jsonObj2=eval("("+jsonStr+")");  
  3.  for(temp in jsonObj2){  
  4.     alert(temp);  
  5.  }  

 说明:temp的取值为2和3. jsonStr的类型是string,jsonObj2的类型是object

 

(3)判断js变量是否有值

Js代码   收藏代码
  1. /** 
  2.  * whether has value 
  3.  *  
  4.  * @param {Object} 
  5.  *            input 
  6.  */  
  7. isHasValue = function(input) {  
  8.     if (typeof input == "number" && input == "0") {  
  9.         return true;  
  10.     }  
  11.     if (input == "" || input == undefined  
  12.             || com.whuang.hsj.isWholeWhitespace(input)) {  
  13.         return false;  
  14.     }  
  15.     return true;  
  16. };  
  17. isWholeWhitespace = function(inputString) {  
  18.     if (typeof inputString == "object") {  
  19.         return inputString;  
  20.     }  
  21.     var bootInit = true;  
  22.     if (inputString == "" || inputString == undefined) {  
  23.         return false;  
  24.     }  
  25.     for ( var i = 0; i < inputString.length; i++) {  
  26.         var c = inputString.charAt(i);  
  27.         if (!com.whuang.hsj.isWhitespace(c)) {  
  28.             bootInit = false;  
  29.             break;  
  30.         }  
  31.     }  
  32.     return bootInit;  
  33. };  

 (4)把对象转化为json字符串

Js代码   收藏代码
  1. object2jsonStr=function(requestObj)  
  2. {  
  3.     return JSON.stringify(requestObj);  
  4. };  

 

 

(5)把表单提交的query string转化为对象

Java代码   收藏代码
  1. /*** 
  2.  * convert [request query string] to [js object] 
  3.  */  
  4. var queryString2Object=function(queryString)  
  5. {  
  6.     if(queryString==''||queryString==undefined)  
  7.     {  
  8.         return null;  
  9.     }  
  10.     var queryArray=queryString.split('&');  
  11.     var queryObj=new Object();  
  12.     for(var i=0;i<queryArray.length;i++)  
  13.     {  
  14.         var oneQuery=queryArray[i];  
  15.         var oneQueryKeyValue=oneQuery.split('=');  
  16.         if(oneQueryKeyValue.length>1)  
  17.         {  
  18.             queryObj[oneQueryKeyValue[0]]=oneQueryKeyValue[1];  
  19.         }  
  20.     }  
  21.     return queryObj;  
  22. };  

 测试:

Js代码   收藏代码
  1. var queryString="name1=value1&name2=&name3=value3&name4=value4";  
  2. var a=com.whuang.hsj.queryString2Object(queryString);  
  3. alert(a.name1);  
相关文章
|
4月前
|
缓存 JavaScript 前端开发
JS代码拆分方法 是对的还是错的?
JS代码拆分方法 是对的还是错的?
22 3
|
4月前
|
JavaScript 前端开发 Java
JS经常碰见的报错问题
JS经常碰见的报错问题
|
3月前
|
前端开发 JavaScript 流计算
前端 JS 经典:打印对象的 bug
前端 JS 经典:打印对象的 bug
35 0
|
12月前
|
JavaScript Java 开发者
一个混乱的JS项目引发的思考
一个混乱的JS项目引发的思考
47 0
|
存储 JavaScript 前端开发
十个Js中易犯的小错误
十个Js中易犯的小错误
71 0
|
JavaScript 前端开发 Go
|
JavaScript 前端开发 安全
前端安全-JS原型链污染是怎么回事
面试题经常会提到一个问题,就是前端安全问题哪些
127 0
|
Web App开发 SQL JavaScript
一处JS反调试引发的思考
一处JS反调试引发的思考
193 0
|
JavaScript
一道有趣Js面试题,你有几种办法解决?
引子: 今天写了手撕instanceof,以我的风格来说,再写一篇今天已经算是高产了~但是,我真的忍不住想把这个题给大家分享一下,特别有意思,e.g. 说 var 一个 a 等于什么的时候,它即1,又2,还==3 ?
82 0
|
存储 JavaScript
你不可不知的JS面试题(分期更新……)
7种。分别是boolean、number、string、object、undefined、null、symbol。
下一篇
无影云桌面