javascript高级程序设计 -- 读书笔记(一)
javascript高级程序设计 -- 读书笔记(一)
2011年05月13日
这是我学习javascript时候的学习笔记,个人一直认为学习时做好笔记是个好习惯. 不管是保存在电脑上还是写在纸上.
在开发的也偶也会去翻翻,毕竟不是什么知识点都记得很清. 在这里分享给大家,希望对大家有用.
我看的这本书叫 作者:Nicholas C.Zakas
我现在正在看 和 很不错
如果大家对javascript喜欢的话建议一读.
-------------------------------------------------- ------
isFinite(num)
判断一个数是否无穷大,不是则返回true
isNaN(num)
判断是否不是一个数字,如果num不是数字则返回true,反之返回false
toString()
可以将布尔值,数字转化成字符串。
数字转化成字符串还可以: var num = 10; num.toString(2); // 1010 num.toString(8); // 12
parseInt(sNum)
对字符串型转化成int型
parseInt('12ab')// 12, parseInt('12.2')// 12, parseInt('da22')// NaN, parseInt('oxA')// 10
parseInt('10',2)// 2 , parseInt('10',8)// 8 , parseInt('10',10)// 10
parseInt('010')// 8 , parseInt('010',8)//8 , parseInt('010',10)// 10
parseFloat(sNum)
对字符串型转化成float型
parseFloat('12ab')// 12.0, parseFloat('12.2')// 12.2, parseFloat('da22')// NaN, parseFloat('oxA')// NaN
parseFloat('090')// 90
强制转换:
Boolean(value)
Boolean('')// false, Boolean('hi')// true, Boolean(100)// true,
Boolean(null)// false Boolean(0)// false, Boolean(new Object())// true
Number(value)
Number(false)// 0, Number(true)// 1, Number(undefined)// NaN, Number(null)// 0
Number('5.5')// 5.5 Number('56')// 56 Number('1.2.3')// NaN, Number(new Object())// NaN, Number(100)// 100
String(value)
String(null)// 'null', var oNull = null; oNull.toString()// 报错
Object类
具有的属性:
constructor:对创建对象的函数的引用(指针)。对于Object类,该指针指向原始的object()函数
prototype: 对该对象的对象原型的应用。对于所有的类,它默认返回Object对象的一个实例
hasOwnproperty(property): 判断对象是否有某个特定的属性。必须用字符串指定该属性(o.hasOwnProperty('name'))
isPrototypeOf(object): 判断该对象是否为另一个对象的原型
propertyIsEnumerable(property): 判断给定的属性是否可以用for...in语句
toString(): 返回对象原始的字符串表示
valueOf(): 返回最适合该对象的原始值。对于许多类,该方法返回的值都与toString()方法相同
Boolean类
是原始类行的引用类型。
var o = new Boolean(true);
Boolean对象将覆盖object类的valueOf方法,返回原始值,即true,false;
var oFalseObject = new Boolean(false);
var bResult = oFalseObject && true;// true
原因:在Boolean类中所有对象都会自动转换成true,所以oFalseObject的值是true
Number类
是Number原始类型的引用类型。
var oNumberObject = new Number(10);
要得到原始类型则: var iNum = oNumberObject.valueOf();
toFixed()
返回指定位数小数的数字字符串表示 var oNumberObject = new Number(99); oNumberObject.toFixed(2);// '99.00'
toExponential()
返回的是用科学计数法表示的数字的字符串形式。 var oNumberObject = new Number(99); oNumberObject.toExponential(1);// '9.9e+1'
toPrecision()
根据最有意义的形式来返回数字的预定形式或指数形式。var oNumberObject = new Number(99); oNumberObject.toPrecision(1)// 1e+2 ,oNumberObject.toPrecision(2)// 99, oNumberObject.toPrecision(3)// 99.0
String类
是String原始类型的对象表示方法。
var oStringObject = new String('Hello World');
String对象的valueOf方法和toString方法都返回String的原始类型
charAt()
访问字符串中单个字符。oStringObject.charAt(1)// 'e'
charCodeAt()
访问字符串中单个字符,且返回的是ASCII值。oStringObject.charCodeAt(1)// 101
concat()
把一个或多个字符串连接到String对象上的原始值上
oStringObject.concat(' gaga')// 'Hello World gaga'
indexOf(),lastIndexOf()
指定字符串在另一个字符串中的位置
oStringObject.indexOf('0')// '4', oStringObject.lastIndexOf('0')// '7'
localeCompare()
对字符串值进行排序
var oStringObject = new String('yellow');
oStringObject.localeCompare('bri');// 1
oStringObject.localeCompare('yellow');// 0
oStringObject.localeCompare('zz');// -1
slice()和substring()
都是创建子字符串区别在与,传入的参数是正数时,没区别,传入的参数为负数时,slice()方法会用字符串的长度加上参数,substring()则用0代替。
var oStringObject = new String('Hello World');
oStringObject.slice(-3);// 'rld',