<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<meta name="x5-fullscreen" content="true">
<title>js原型添加属性与方法</title>
<style>
div{
height: 100px;
width: 100px;
border: 1px solid red;
}
</style>
</head>
<body>
<div onclick="moudel.fn(123)"></div>
<script>
var moudel = new Object({
projectUrl:"http://wxkf.5ifapiao.com",
name : 123,
fn : function(a){
console.log(a);
}
})
//构造函数
function Dog(name,age){
this.name = name;
this.age = age;
}
//在函数原型链上添加属性和方法
Dog.prototype.type = '狗';
Dog.prototype.fun = function(){
console.log('吃骨头');
}
//实例化对象
var dog = new Dog('毛毛','1岁');
console.log(dog.name);
console.log(dog.type);
dog.fun();
//属性探测
// in : 操作符会检查自有属性和原型属性
// hasOwnProperty : 只检测自有属性
console.log( 'name' in Dog); //true
console.log( 'toString' in Dog); //true
console.log( Dog.hasOwnProperty('name')); //true
console.log( Dog.hasOwnProperty('toString')); //false
//删除属性
// delete dog.name; // true
console.log(Object.getOwnPropertyDescriptor(moudel,'name'));
</script>
</body>
</html>