自有属性和共有属性:
自有属性:直接保存在对象本地的属性
共有属性:保存在原型对象中,被所有子对象共享的属性
获取时:都可用对象.属性方法
赋值时:自有属性,必须:对象.属性 = 值
共有属性,必须:构造函数.prototype.属性 = 值
鉴别自有还是共有:
自有:var bool = obj.hasOwnProperty('属性名')
判断“属性名”是否是obj的自有属性
共有:不是自有,且obj.属性名!==undefined
其中:in:判断obj自己或obj的父对象中是否包含"属性名"。只要自己或父对象中包含,就 返回true。
共有:相同写的 属性名 in obj
if(obj.hasOwnProperty(pname)){
console.log('自有属性')
}else if(obj[pname]!==undefined){ // 可改写成: }else if(pname in obj){
console.log('共有属性')
}else {
console.log('没有这个属性!')
}
------------------------------------------------------------------------------------------------------
例:判断是不是自有属性hasOwnProperty方法
//自有属性
function Student(sname,sage){
this.sname =sname;
this.sage =sage;
}
//共有属性
Student.prototype.intr=function(){
console.log(`I am ${this.sname},I am ${this.sage}`)
}
//共有属性
Student.prototype.className="初一二班";
var lilei =new Student('Li Lei',11);
var hmm =new Student('Han Meimei',12);
//判断是不是自有属性函数
function checkProperty(obj,pname){
if(obj.hasOwnProperty(pname)){
console.log('自有属性')
}else if(obj[pname]!==undefined){ // 可改写成: }else if(pname in obj){
console.log('共有属性')
}else {
console.log('没有这个属性!')
}
}
checkProperty(lilei,"sname"); //自有
checkProperty(hmm,"className");//共有
checkProperty(lilei,"bal");//没有
var o={x:1}
console.log(o.hasOwnProperty("x")) //true
console.log(o.hasOwnProperty("y")) //false
------------------------------------------------------------------------------------------------------

例:判断是不是自有属性hasOwnProperty方法的更多相关文章

  1. ES6 属性方法简写一例:vue methods 属性定义方法

    const o = { method() { return "Hello!"; } }; // 等同于 const o = { method: function() { retur ...

  2. JS 对象API之判断自有属性、共有属性

    自有属性:对象实例私有的属性,只有该对象实例可用 共有属性:对象实例共有的属性,所有对象实例都可用 要判断对象实例的自有属性.共有属性:首先看看JS给我们提供的两个方法: 1.判断是否是对象实例的属性 ...

  3. 判断JS对象是否拥有某属性的方法举例

    判断JS对象是否拥有某属性 JS是否拥有某属性的判断方法,这里提供两种方式,供大家参考. 1.in 运算符 var obj = {name:'jack'}; alert('name' in obj); ...

  4. js属性对象的hasOwnProperty方法

    Object的hasOwnProperty()方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性. 判断自身属性是否存在 var o = new Object(); o.prop = 'ex ...

  5. java新手笔记11 类的静态属性、方法(单例)

    1.Person类 package com.yfs.javase; public class Person { String name;//每个对象上分配 与对象绑定 int age; char se ...

  6. Python中的私有属性私有方法、类属性类方法以及单例设计模式

    私有属性是对象不希望公开的属性,私有方法是对象不希望公开的方法.在定义私有属性和私有方法时,在属性或者方法前,加上__(两个下划线) 公有方法可以通过对象名直接调用,私有方法不能通过对象名直接调用,只 ...

  7. 判断jquery对象是否具有某指定属性或者方法的几种方法

    1.typeof 运算符:返回一个用来表示表达式的数据类型的字符串.("number", "string", "boolean", &quo ...

  8. JS面向对象组件(三)--面向对象中的常用属性和方法

    图片的由来看下面: 1.hasOwnProperty:看是不是对象自身下面的属性 var arr = []; arr.num = ; Array.prototype.num2 = ; //所有的数组对 ...

  9. Js基础知识7-JavaScript所有内置对象属性和方法汇总

    对象什么的,程序员可是有很多呢... JS三大对象 对象,是任何一个开发者都无法绕开和逃避的话题,她似乎有些深不可测,但如此伟大和巧妙的存在,一定值得你去摸索.发现.征服. 我们都知道,JavaScr ...

随机推荐

  1. 用标准C编写COM dll

    参考资料: 用标准C编写COM(一)COM in plain C,Part1 (http://blog.csdn.net/wangqiulin123456/article/details/809235 ...

  2. 2019-1-17 script(1)

    伪终端(Pseudo Terminal)是成对的逻辑终端设备. grant  授予 tty是teletype(电传打字机)的缩写,后来便成了终端设备的代名词 虚拟终端pty(pseudo-tty) p ...

  3. 第二节,神经网络中反向传播四个基本公式证明——BackPropagation

    假设一个三层的神经网络结构图如下: 对于一个单独的训练样本x其二次代价函数可以写成: C = 1/2|| y - aL||2 = 1/2∑j(yj - ajL)2 ajL=σ(zjL) zjl = ∑ ...

  4. okhttp 内网可以有,但外网访问数据返不回来,代码一样

    :1.问题点在于 下图红框里写成 text/html了,需要改成application/json,造成的问题有:unexpected end of stream  这个是406错误:加上日志之后okh ...

  5. python测试断言

    这几天看了一下python的测试,基于函数方法和基于类的测试,主要使用的模块是unittest模块,为特定的方法和类,建立测试模块,测试函数功能是否满足预期.下面是模仿书里面的一个例子. City.p ...

  6. 你一直在找的 Mac 系统优化工具,可能就是这一款!

    文章来源:知乎 文章收录于:风云社区 www.scoee.com,提供上千款各类mac软件下载 尽管 Mac 上的维护工具总会被人诟病(通常是那些极客),但对于普通用户来说,像 CleanMyMac. ...

  7. python自动化开发-[第二十三天]-初识爬虫

    今日概要: 1.爬汽车之家的新闻资讯 2.爬github和chouti 3.requests和beautifulsoup 4.轮询和长轮询 5.django request.POST和request. ...

  8. pt-online-schema-change 测试使用-包含生成测试数据

    pt-online-schema-change 测试使用-包含生成测试数据 # 参考网址: https://www.2cto.com/database/201703/618280.html 一.简要描 ...

  9. JavaSet接口、唯一元素和Map接口整理

    Set接口 1.1 HashSet集合存储数据的结构(哈希表) HashSet集合,采用哈希表结构存储数据,保证元素唯一性的方式依赖于:hashCode()与equals()方法. 哈希表底层,使用的 ...

  10. ASP.NET的checkboxlist,RadioButtonList,FileUpload,image控件的综合使用

    一.拖控件 控件拖完如图所示:(有些是对不齐的,加一个表单就好了,把他们都放在表单里) 单纯的RadioButton是不能只选择一个的,除非你手动给他们加上代码: RadioButton1.Group ...