hasOwnproperty详细总结

hasOwnproperty详细总结hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回falsefunctionperson(nickName,siteName){…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。

isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false

function person(nickName,siteName){
             this.nickName=nickName;
             this.siteName;
             this.address='上海';
            }
            person.prototype.showAdmin = function() {
             alert(this.nickName+"是"+this.siteName+"的站长!")
            };
            person.prototype.showSite = function(siteUrl) {
             this.siteUrl=siteUrl;    //在原型上加一个私有的属性
             this.sayAge=function(){   //在原型上加一个私有的方法
                alert('20岁');
             }    
             return this.siteName+"的地址是"+this.siteUrl;
            };
            person.prototype.job='code';

            var p1=new person("脚本之家1","WEB前端开发");
            var p2=new person("脚本之家2","WEB前端开发");
            p1.age1="30";
            p1.age2;


            alert(p1.hasOwnProperty("nickName"));//true      //能够检测构造函数 模板函数里的属性和方法且该属性被赋值了 所以是true
            alert(p1.hasOwnProperty("siteName"));//false      //能够检测构造函数 模板函数里的属性和方法但是该属性没有被赋值,所以是false
            alert(p1.hasOwnProperty("address"));//true      //能够检测构造函数 模板函数里的属性和方法且被赋值,所以是true
            alert(p1.hasOwnProperty("age1"));//true       //能够检测p1上的属性且该属性被赋值了,所以是true
            alert(p1.hasOwnProperty("age2"));//false       //能够检测p1上的属性但是该属性没被赋值了,所以是false
            

            alert(p1.hasOwnProperty("showAdmin"));//false   //hasOwnProperty是不可以检测到原型链上的属性和方法
            alert(p1.hasOwnProperty("showSite"));//false    //hasOwnProperty是不可以检测到原型链上的属性和方法
            alert(p1.hasOwnProperty("job"));//false          //hasOwnProperty是不可以检测到原型链上的属性和方法


            alert(person.prototype.hasOwnProperty("showAdmin"));//true    //person.prototype上检测是否有showAdmin  弹出true
            alert(person.prototype.hasOwnProperty("job"));//true     //person.prototype上检测是否有job   弹出true
            alert(person.prototype.hasOwnProperty("siteUrl"));//false   //person.prototype上没有siteUrl   弹出false
            alert(person.prototype.hasOwnProperty("sayAge"));//false   //person.prototype上没有siteUrl   弹出false

            alert(person.prototype.isPrototypeOf(p1))//true
            alert(person.prototype.isPrototypeOf(p2))//true

Jetbrains全家桶1年46,售后保障稳定

 

        function person(nickName,siteName){
             this.nickName=nickName;
             this.siteName=siteName;;
            }
            person.prototype.showAdmin = function() {
             alert(this.nickName+"是"+this.siteName+"的站长!")
            };
            person.prototype.showSite = function(siteUrl) {
             this.siteUrl=siteUrl;    //在原型上加一个私有的属性
             this.sayAge=function(){   //在原型上加一个私有的方法
                alert('20岁');
             }    
             this.sayWork=function(){
                 this.work='打杂';
             };
             this.sex;

             return this.siteName+"的地址是"+this.siteUrl;
            };
            
            person.prototype.job='code';

            var p1=new person("脚本之家1","WEB前端开发");
            var p2=new person("脚本之家2","WEB前端开发");
            p1.age1="30";
            p1.age2;

              alert(p1.showSite("http://www.jb51.net/"));


            alert(p1.hasOwnProperty("siteUrl"));//true   //在上面一句调用了showSite原型方法,所以原型链里就创建了私有属性和方法且被赋值了,所以弹出true
            alert(p1.hasOwnProperty("sayAge"));//true   //在上面一句调用了showSite原型方法,所以原型链里就创建了私有属性和方法且被赋值了,所以弹出true
            alert(p1.hasOwnProperty("sayName"));//true   //p1调用showSite原型方法,所以原型链里就创建私有属性和方法且被赋值了,所以弹出true
            alert(p1.hasOwnProperty("work"));//false   //p1没有调用sayWork方法,所以就不会创建私有属性和方法(work),所以弹出false
            alert(p1.hasOwnProperty("sex"));//false   //p1调用showSite原型方法,所以原型链里就创建私有属性和方法但是sex没有被赋值,所以弹出false



             p1.sayAge();     //20岁
             p2.sayAge();    //会报错  p2.sayAge is not a function   因为p2没有调用showSite原型方法,所以没有创建p2的独有属性和方法,所以会报错

 

function person(nickName,siteName){
             this.nickName=nickName;
             this.siteName=siteName;;
            }
            person.prototype.showAdmin = function() {
             alert(this.nickName+"是"+this.siteName+"的站长!")
            };
            person.prototype.showSite = function(siteUrl) {
             this.siteUrl=siteUrl;    //在原型上加一个私有的属性
             this.sayAge=function(){   //在原型上加一个私有的方法
                alert('20岁');
             }    
             return this.siteName+"的地址是"+this.siteUrl;
            };
            person.prototype.job='code';

            var p1=new person("脚本之家1","WEB前端开发");
            var p2=new person("脚本之家2","WEB前端开发");
            p1.age1="30";
            p1.age2;

              //alert(p1.showSite("http://www.jb51.net/"));

            alert(p1.hasOwnProperty("siteUrl"));//false   //p1没有调用showSite原型方法,所以原型链里就不会创建私有属性和方法,所以弹出false
            alert(p1.hasOwnProperty("sayAge"));//false   //p1没有调用showSite原型方法,所以原型链里就不会创建私有属性和方法,所以弹出false
            



             p1.sayAge();     //20岁
             p2.sayAge();    //会报错  p2.sayAge is not a function   因为p2没有调用showSite原型方法,所以没有创建p2的独有属性和方法,所以会报错

 

转载于:https://www.cnblogs.com/tzz-ing/p/5072973.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234948.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • from django.db import models_django请求响应流程图

    from django.db import models_django请求响应流程图前言APIView中的dispatch是整个请求生命过程的核心方法,包含了请求模块,权限验证,异常模块和响应模块,我们先来介绍请求模块请求模块:request对象源码入口APIView类中di

    2022年7月29日
    8
  • intellij idea 2022.01激活码【2022.01最新】

    (intellij idea 2022.01激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    197
  • python-opencv图像处理:sobel算子

    python-opencv图像处理:sobel算子Sobel原理:https://blog.csdn.net/zfjBIT/article/details/86655444函数原型:”’Sobel算子Sobel算子依然是一种过滤器,只是其是带有方向的。在OpenCV-Python中,使用Sobel的算子的函数原型如下:dst=cv2.Sobel(src,ddepth,dx,dy[,dst[,ksize[,s…

    2022年7月14日
    16
  • 电压电流转换检测「建议收藏」

    电压电流转换检测「建议收藏」电流可以转换成电压,电压也可以转换成电流。图十就是这样一个电路。上图的负反馈没有通过电阻直接反馈,而是串联了三极管Q1的发射结,大家可不要以为是一个比较器就是了。只要是放大电路,虚短虚断的规律仍然是符合的!由虚断知,运放输入端没有电流流过,则(Vi–V1)/R2=(V1–V4)/R6……a同理(V3–V2)/R5=V2/R4……b由虚短知V1=V2……c如果R2=R6,R4=R5,则…

    2022年6月2日
    37
  • C语言socket实现文件下载[通俗易懂]

    C语言socket实现文件下载[通俗易懂]是网络编程的作业,我比较菜。。。写到定位输出,做百分比出现了问题,不显示0到100的,直接从0跳到了100。请教了下大佬。改了过来。原来是类型的问题,做出来的运算应该是float,但是我都定义的int,输出也是,大佬指出后,我好尴尬。。。犯了小错误。。。但是在这次过程也学习了一波。要加油了!!!代码写的这么乱!!!写的是带颜色的版本,,颜色有可能会觉得妖艳,,,好吧。编译平台是vc++6.0

    2022年7月14日
    13
  • python机器学习库sklearn——朴素贝叶斯分类器[通俗易懂]

    python机器学习库sklearn——朴素贝叶斯分类器[通俗易懂]全栈工程师开发手册(作者:栾鹏)python数据挖掘系列教程文档贝叶斯分类器的相关的知识内容可以参考http://blog.csdn.net/luanpeng825485697/article/details/78769233在scikit-learn中,一共有3个朴素贝叶斯的分类算法类。分别是GaussianNB,MultinomialNB和Bernoulli…

    2025年6月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号