sslin

岁月匆匆,偶尔记录些做过的事情

导航

javascript 复习笔记

http://www.cnblogs.com/jenry/archive/2010/12/08/1900150.html

 

Array:

arr.push() 添加元素到末尾并返回新长度; pop() 去除并返回末尾元素; shift() ;  unshift()

sort(); reverse(); concat(); join();

concat()使用时要注意  a = a.concat(b);  a.concat(b)不会直接作用于a;

splice(i,n,e1,e2,e,,,) 删除数组中i下标开始的n个元素,并从i下标插入e1,,,等元素

slice(i,n) 返回数组中从i开始的n个元素组成的段;

Time:

var d = new Date();

d.getTime();

indexOf可以用于查找数组元素

Math

Math.floor(Math.random()*4) 随机获得0,1,2,3;

浮点数的相减,会出现末尾偏差的情况; 0.3 - 0.2 = 0.099999998;

parseInt, parseFloat 

Number()  强制类型转化为数字

toFixed(2) 保留两位小数

动态移除对象中的属性 obj.name = undefined; (其实无法真正删除,只是移除了对象属性的值)

删除动态属性要使用delete obj.name (之前没成功是用 delete obj.i  ,i为变量时,要使用 delete obj[i]);

typeof() 返回对象的基本类型;

 ======================

javascript binding 赋值中的指针引用:(html5中待测试)

a = 10; b = a; b+=1; // a还等于1

a=[1,2]; b = a; b = [2,3]; // a等于[1,2]

注意: a=[1,2]; b=a; b[0] = 3; b[1] = 4; //a等于[3,4]

a=[1,2]; b=a; b = [3,4]; b[0] = 3; b[1] = 4; //a等于[1,2]

可以发现,在b=a时,并未开辟新的内存而是指针指向,当启用b=new obj时,b开辟空间; 但b[x]并不会开辟新的内存空间;

var a = new Array();  a = b; 这种句法貌似无效;

======================

面对对象:

var op = function(){}

op.name = "xxx";

var cp = new op; 

此时的op.name是undefined, 需使用 op.prototype.name后,cp.name才能等于xxx, new 的对象,只具有原型链上的属性;

 

 

 

posted on 2013-05-28 10:20  sslin  阅读(186)  评论(0编辑  收藏  举报