javascript零碎笔记

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); //十进制

你可能感兴趣的:(Web)