javascript物件基礎(使用物件)---4物件、屬性、方法的高階操作-Fucntion和String
ECMAScript5為Function增加了一個原型方法bind(Function.prototype.bind), 用來把函式繫結到指定物件上
function.bind(thisArg[,arg1[,arg2[,arg3]]]);其中thisArg,this關鍵字可在新函式中引用的物件
例:
var checkNumericRange=function(value){
if(typeof value !=='number')
return false;
else
return value>=this.minimum&&value<=this.maimum;
}
var range={minimum:10,maximum:20};
var boundCheckNumericRange= checkNumericRange.bind(range);//注意 bind(括號裡面是 物件)
var result=boundCheckNumericRange(12)// true
例2:
var originalObject={
minimum:50,
maximum:100,
var checkNumericRange=function(value){
if(typeof value !=='number')
return false;
else
return value>=this.minimum&&value<=this.maimum;
}
}
var result=originalObject. checkNumericRange(10);
document.write(result);// false ,此時的this指向originalObject ,
range={minimum:10,maximum:20};
var boundObjectWithRange=originalObject.checkNumericRange.bind(range);//this現在指向range物件
var result=boundObjectWithRange(10);
document.write(result);// true,說明bind改變了函式的this指向,this現在指向bind括號裡面的物件,即繫結的那個物件
例3,利用bind為函式兩次傳遞引數,實現連續引數求值計算
var displayArgs=function(val1,val2,val3,val4){
document.write(val1+" "+val2+" "+val3+" "+val4)
}
var emptyObject={};
var displayArgs2=displayArgs.bind(emptyObject,12,"a");
displayArgs2("b","c");// 12 a b c
String:ECMAScript5新增了trim()方法利用該方法可以從字串中移除前導空格、尾隨空格、行終止符
stringObj.trim() --移除空格 、tab製表符、回車符、換行符
例
var message=" abc def \r\n ";
document.write("["+message.trim()+"]"); //[abc def],注意字母中間的空格 是不會去除的
document.write("</br>");
document.write("length"+message.trim().length); //7