Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58
?一、数据类型
?? 在js只有五种数据类型,null, undefined, String, Number,Object
????? undefined:未定义,我们也可称之为不存在,typeof(undefined)=undefined.
null:为空。undefined是不存在,而null是存在,但却无。typeof(null)=object,但null又不是object,且undefined==null
boolean:true or false。
Number: 数字如:var s= new Number(20);??? alert(s.toString(2)); //10100? 接收时不是用Number a = new Number(20),而是用var 这样s就是一个Number类型,其属性有:MAX_VALUE 可表示的最大的数。MIN_VALUE 可表示的最小的数。 NaN 非数字值。NEGATIVE_INFINITY 负无穷大,溢出时返回该值。POSITIVE_INFINITY 正无穷大,溢出时返回该值。 方法有:toString? 可以接受一个从2到36的数字,然后把我们的Number转换为相应的进制数。
????? 注:NaN和Infinity是两个特殊之数,NaN代表一个无法用数值来表示的数字,而Infinity代表一个无穷大的数字,相对的,-Infinify则代表负无穷大。在此有两点特殊的地方:NaN!=NaN,Infinity/Infinity=NaN。
String:字符串,Javascript中没有字符的概念,字符串是表示文本的最小单位。在字符串中,有这样的两个函数,分别是charAt(index)和charCodeAt(index)分别返回对应索引的字符和字符Unicode编码。在我们平时,可能经常会使用下标的方式访问,如s[10],可是这并不是ECMAScript的标准,应该尽量避免。
二,js建立类对象
?1,成员变量权限分为私有与公有。私有指用var建立的成员 ,公有指用this建立的对象???
var obj = function () {??? var a = 1;??? this.b = 2;??? this.c = 5;??? this.fun = function () {? ?? this.c = a+this.b;??? }};
var o = new obj(); o.fun();????????? alert(o.b);?? //2 ???????? alert(o.a);? //不可访问结果为undefined
2,为类动态增加变量,函数—prototype
??? var obj = function () {? this.c = 5;};
var o = new obj(); alert(o.c);? //5
obj.prototype.tt = -3? obj.prototype.setValue = function(){?? this.c = -1; } //可直接操作类成员
o.setValue(); //设置后直接调用
alert(o.c);
alert(o.tt);
利用prototype有个好处,定义的东西多个实例也是共用一个。不然直接定义方法,则每一个实例的方法是不一样的,存在不同的地址中