hasOwnProperty()判断某一个属性是来源于本地属性还是继承与prototype对象的属性
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
<script>
var str = new String(" hello world ");
var str2 = ' hello world ';
function trim(str){
var reg = /\s+|\s+$/g;//正则匹配首位连续空格
return str.replace(reg,"");
}
console.log("1"+trim(str)+"2");//1helloworld2
//为String构造函数添加原型方法(在原型上拓展新方法)
String.prototype.trim = function(){
var reg = /\s+|\s+$/g;//正则匹配首位连续空格
return this.replace(reg,"");
}
String.prototype.length="0";
String.prototype.age = 18;
console.log("1"+str2.trim()+"2");
//hasOwnProperty()判断某一个属性是来源于本地属性还是继承与prototype对象的属性
//返回的是一个布尔值,true表示本地属性,来源于自身,false是继承与prototype
console.log(str.hasOwnProperty("length"));//true
console.log(str.hasOwnProperty("trim"));//false
console.log(str.hasOwnProperty("age"));//false
console.log(str.height);//undefined
</script>
</html>
返回的是一个布尔值,true表示本地属性,来源于自身,false是继承于prototype