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

javascript 精粹第五篇(方法)

下面代码要用到之前博客中的代码,在执行的时候请将其中的代码引入,否则报错。

/*******************************************************************************
 * 方法
 *******************************************************************************/
console.log('************************************************************************Array');
//array.concat(item...) 合并
var a = ['a','b','c'];
var b = ['x','y','z'];
var c = a.concat(b,true);
console.log('array.contar(item...):',c);

//array.push(item...) 添加元素到数组尾部,该方法会更改数组,返回值为数组的新长度值。
var d = a.push(b,true);
console.log('array.push(item...):',a);

//array.unshift(item...)添加元素到数组开始部分,该方法会更改数组,返回值为数组的新长度值。
//IE6之前的浏览器中,调用unshift()方法的有错误,返回的值永远都是undefined。IE7之后已经修正了这个错误。
//如果要兼容IE6的话就不好使用这个方法了。
var d = a.unshift('?','@');
console.log('array.unshift(item...):',a);
//setTimeout(function(){
//	
//	//array.pop() 移除数组尾部的元素并返回该数组
//	console.log('array.pop() 移除的尾部元素:',a.pop());
//	console.log('移除尾部元素后的数组:',a);
//	setTimeout(function(){
//		
//		//array.shift() 移除数组第一个元素并返回该元素,shift通常比pop慢得多。
//		console.log('array.shift() 移除的第一个元素:',a.shift());
//		console.log('移除第一个元素后的数组:',a);		
//	},500);
//},500);

//array.join(separetor) 构造成字符串,separetor为分隔符。
console.log('array.join(":::"):',c.join(':::'));

//array.reverse() 反转array里的元素的顺序,并返回array本身。
console.log('array.reverse():',a.reverse());

//array.slice(start,end) 浅复制,返回新数组。
//start从第几个元素开始,可以为负值,索引从0开始计算。end到第几个元素结束,可以为负数,可以不写,默认为array.length。
//当为负数时,和array.length相加,如果start大于end,返回空数组。
console.log('array.slice(1,2):',a.slice(1,2));


console.log('************************************************************************Number');
//number.toExponential(fractionDigits) 将number转换成指数形式。fractionDigits控制小数点后的数字位数,可选。
console.log('number.toExponential(6):',Math.PI.toExponential(6),'默认:',Math.PI.toExponential());

//number.toFixed(fractionDigits) 将number转换成十进制形式的字符串。fractionDigits控制小数点后的数字位数,可选。
var fixed = Math.PI.toFixed(6);
console.log('number.toFixed(6):',fixed,'默认:',Math.PI.toFixed());
console.log('Math.PI.toFixed(6)类型:',typeof fixed);

//number.toPrecision(precision) 将number转换成十进制形式的字符串。precision控制数字的精度,可选。
console.log('number.toPrecision(2):',Math.PI.toPrecision(2),'默认:',Math.PI.toPrecision());

//number.toString(radix) 将number转换成一个字符串。radix控制基数,值必须在2~36范围内,默认为10。radix最常用的是整数,但是可以用任意的数字。
//在最普遍的情况下,number.toString()可以更简单地写为String(number)。
console.log('radix为2:',Math.PI.toString(2));
console.log('radix为8:',Math.PI.toString(8));
console.log('radix为16:',Math.PI.toString(16));
console.log('radix为默认值:',Math.PI.toString());


console.log('************************************************************************Object');
//object.hasOwnProperty() 原型链中的属性不会被检查。
var obj_a = {member : true};
var obj_b = Object.create(obj_a);
console.log('obj_a.hasOwnProperty("member")',obj_a.hasOwnProperty("member"));
console.log('obj_b.hasOwnProperty("member")',obj_b.hasOwnProperty("member"));


console.log('************************************************************************String');
//string.charAt(pos) 获取string中pos位置的字符。
var str_name = '李明浩';
console.log('str_name.charAt(2)',str_name.charAt(2));

//string.charCodeAt(pos) 获取string中pos位置的字符的字符码位。
console.log('str_name.charCodeAt(2)',str_name.charCodeAt(2));

//string.split(separator,limit) 当separator是正则表达式时,在IE8之前版本会把空字符串排除掉,使用时要注意。 
var f = '|a|b|c|'.split(/\|/);
console.log("'|a|b|c|'.split(/\|/):",f);

//string.substring(start,end) 这个方法和string.slice(start,end) 功能是一样的,
//但substring方法参数不能处理负数,所以就用slice方法替代substring方法吧。

//String.fromCharCode(char...) 根据一串数字编码返回一个字符串。
console.log('String.fromCharCode(28009,28698):',String.fromCharCode(28009,28698));