1, 引用类型通常叫 , 类 class
var o = new Object();
有参数要用括号, 没有参数 也可以不用括号
var o = new Object;
注意:尽管括号不是必需的,但是为了避免混乱,最好使用括号。
2, ECMAScript 中的Object 对象和 java中的Object 对象很像.
其他的对象都继承自Object 对象 , Object的所有属性方法都会出现在其他对象中.
3, Object 属性
constructor
对创建对象的函数的引用 (指针), 该指针指向Object()函数 .
Prototype
对该对象原型的引用, 默认返回Object 对象的实例.
4, Object 方法
判断对象是不是有某个属性 : hasOwnProperty(property)
判断对象是不是另一个对象的原型: isPrototypeof(object)
判断这个属性是不是能用for ... in 进行 遍历 propertyIsEnumerable
返回对象的原始字符串表示 toString()
返回最适合该对象的原始值 , 大部分情况下和 toString()方法相同 .
-----------------------
上面的每种属性方法都会被其他对象覆盖.
5, Boolean 对象
Boolean 对象是对 boolean 原始类型的引用类型
----------
var oBooleanObj = new Boolean(true) ;
总之 这玩意儿不好用 ,直接用原始类型好了 .
6, Number 对象
number对象的引用类型 Number对象 ...
var oNumberObject = new Number(95);
toFixed() 方法 : 返回指定位数的小数的字符串 .
var nMyNumber = new Number(89); alert(nMyNumber.toFixed( 2 )) ; // 输出 89.00
toFixed() 方法能返回 0-20 小数的数字, 超过了就会引发错误 .
toExponential ()方法表示 科学计数法
toPrecision() 方法 邪门的很 ,
-----------
number对象也少用 .http://www.w3school.com.cn/js/jsref_obj_number.asp 参考手册
7, String 对象
toString()方法 和 valueOf 方法相同.
alert(oStringObject.valueOf() == oStringObject.toString()); //输出 "true"
-------------
怎么知道字符串有多长呢 ?
length 属性
var oStringObject = new String("hello world"); alert(oStringObject.length); //输出 "11"
------------
怎么样取得字符串指定位置的值呢 ?
charAt() 方法和 charCodeAt()方法
var oStringObject = new String("hello world"); alert(oStringObject.charAt(1)); //输出 "e"
charAt () 返回指定位置的字符的字符串.
var oStringObject = new String("hello world"); alert(oStringObject.charCodeAt(1)); //输出 "101"
charCodeAt () 得到ASCII 码 .
-------
怎么样连接两个字符串呢 ?
concat() 方法
var oStringObject = new String("hello "); var sResult = oStringObject.concat("world"); alert(sResult); //输出 "hello world" alert(oStringObject); //输出 "hello "
concat() 方法连接两个字符串并保持 原字符串对象不变 .
可以用 "+" 号来代替 .
---------
怎么知道字符串中是否存在某个字符 ?
indexOf () 方法 , 返回字符的下标 , 找不到就返回 -1 .
var oStringObject = new String("hello world!"); alert(oStringObject.indexOf("o")); 输出 "4" alert(oStringObject.lastIndexOf("o")); 输出 "7"
lastIndexOf() 和 indexOf()相反 从字符串的末尾 开始向前检索 .
---------
怎么进行字符串排序比较 ?? 按字母的先后顺序 比较 ...
localCompare()方法
var oStringObject = new String("yellow"); alert(oStringObject.localeCompare("brick")); //输出 "1" alert(oStringObject.localeCompare("yellow")); //输出 "0" alert(oStringObject.localeCompare("zoo")); //输出 "-1"
那怎么判断 两个值 的前后呢, 用什么来标识呢 ?
用正数 ,负数 , 和 零 . 所以不是一定会返回 1, 0 和-1 , 的 实现不同会有不同. .
var oStringObject1 = new String("yellow"); var oStringObject2 = new String("brick"); var iResult = sTestString.localeCompare("brick"); if(iResult < 0) { alert(oStringObject1 + " comes before " + oStringObject2); } else if (iResult > 0) { alert(oStringObject1 + " comes after " + oStringObject2); } else { alert("The two strings are equal"); }
按上面的写比较好.
---------
怎么样去截取字符串呢 ?
有两个方法 slice() ,subString() 方法..
他们和concat() , 方法一样不会改变String原始对象 , 只是返回String的值
那他们有什么区别,不都一样吗 ? 有什么应用场景
subSting 处理的参数都是正数 , 碰到负的参数就变成 0 .
slice() 会用 字符串的长度 加上负数 , 作为新的参数.
var oStringObject = new String("hello world"); alert(oStringObject.slice("-3")); //输出 "rld" alert(oStringObject.substring("-3")); //输出 "hello world" alert(oStringObject.slice("3, -4")); //输出 "lo w" alert(oStringObject.substring("3, -4")); //输出 "hel"
当只有参数 -3 时,slice() 返回 "rld",substring() 则返回 "hello world"。这是因为对于字符串 "hello world",slice("-3") 将被转换成 slice("8"),而 substring("-3") 将被转换成 substring("0").
---------
怎么进行大小写的转换类 >?<
toLowerCase()
toUpperCase()
toLocalLowerCase()
toLocalUpperCase()
为什么会有 toLocal 方法呢, 个别地区的大小写转换有特定的规则 ,所以不知道的地方可以用Local ..
----------
怎么判断两个 类型是否一样 ?
js 里面有 instanceof 和Java的一样
var oStringObject = new String("hello world"); alert(oStringObject instanceof String); //输出 "true"