日期:2014-05-16  浏览次数:20458 次

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',