首页 > 代码库 > javascript原型对象与实例对象属性
javascript原型对象与实例对象属性
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="http://www.mamicode.com/"> <title>My JSP ‘test3.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/styles.css"> --> <script src="http://www.mamicode.com/js/jquery-2.1.1.min.js"></script> <script> //obj.getPrototypeOf根据实例对象获得原型对象 function Person(){ } Person.prototype.name=‘张三‘; Person.prototype.age=‘21‘; Person.prototype.sayName=function(){alert(thsi.name);} var p1=new Person(); //alert(p1.name); //var prototypeObj=Object.getPrototypeOf(p1); //alert(prototypeObj===Person.prototype); p1.name=‘王五‘; //每次代码读取对象属性时,首先会进行一次搜索,搜索实例对象里name的属性,看看有没有,如果没有, //然后再去p1的实例所对应的原型搜索,有就返回,没有返回undefined //alert(p1.name); //delete p1.name; //alert(p1.name); //清除添加的name //获得原型对象的属性 //判断一个对象属性属于原型属性还是实例属性 var p3=new Person(); var s=p3.hasOwnProperty(‘name‘); //alert(s); //false p3.name=‘赵六‘; //alert(p3.hasOwnProperty(‘name‘)); //true //in操作符 判断属性是否存在于实例对象和原型对象(无法区分在实例还是原型) var p4=new Person(); var p5=new Person(); //alert(‘name‘ in p4); //true p5.name=‘旺旺‘; //alert(‘name‘ in p5); //在原型对象中是否存在属性 function hasOwnPrototypeBySelf(object,name){ return !object.hasOwnProperty(name) && name in object; } //alert(hasOwnPrototypeBySelf(p4,‘name‘)); //true //alert(hasOwnPrototypeBySelf(p5,‘name‘)); //false //Object.keys()拿到当前对象中所有的属性 var p6=new Person(); p6.sex=‘男‘; //alert(Object.keys(p6)); //alert(Object.keys(Person.prototype)); //constructor属性,该属性不能被枚举出来 //Object.getOwnPropertyNames()获取所有属性 不关该属性是否可以被枚举 alert(Object.getOwnPropertyNames(Person.prototype)); </script> </head> <body> This is my JSP page. <br> </body> </html>
本文出自 “matengbing” 博客,请务必保留此出处http://matengbing.blog.51cto.com/11395502/1879309
javascript原型对象与实例对象属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。