`

javascript零碎笔记

    博客分类:
  • Web
 
阅读更多
1, JSON传给eval()函数
最好是像如下形式来包含JSON类型参数:
     eval('('+JSON+')');
假设JSON如下(一个对象包含两个对象类型的属性person1和person2):
var jsonText=
"{
  person1:{'name': 'Bill','age': 1,'gender': 'male' },
  person2:{'name': 'Owen', 'age': 2, 'gender': 'female'}
}"

eval(jsonText)              //error,eval会字符串"{...}"当作未命名的表达式,报错;
eval("("+jsonText+")")      // pass,"({...})"这样加上括号就成了值;

2, javascript遍历对象属性
     for (key in object){
      alert(key);
    }

3, javascript的array
创建方式:=new Array(20) // 长度20 
        =new Array("aaa") //长度1
        =Array(20)
        =Array("aaa")
        =[1,2,3]
可以将长度为3的数组length设置成2,那么原本最后一个元素自动去除了;
反过来,增加一个,那么新增的为undefined;
方法:valueOf() = toString()

4, window的open方法
四个参数:要加载的URL(href);目标window(target);状态参数;boolean值,指定新打开的地址是否替换浏览器历史记录中的当前地址(一般用的不多).
参数一:..
参数二:如果未存在指定的target,那么新window将被创建并传入这个name为它的target名;可接受下列值-- _self, _parent, _top, or _blank
参数三:默认-- Toolbars, the location bar, and the status bar are all set based on the browser’s default settings;如果未打开新窗口,此参数将被忽略;
参数四:  用的不多;

5,parseInt()方法
    var str = "020";
    var num = parseInt(str);
    alert(num);
输出 16
原因:在 JavaScript 中, 0 开始的数被认为使用 8 进制处理, 0x 的数被认为是用 16 进制来处理.
修改:
var num = parseInt(str, 10); //十进制
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics