zoukankan      html  css  js  c++  java
  • javascript中对象访问自身属性的方式

    在javascript中,通过对象的方法访问对象自身属性时,必须采用this.fieldName的方式。

    原因是javascript中Function是无状态的,访问对象的属性时,必须指定当前的上下文状态,即添加this关键字。如果没有指定,则上下文默认为window。

    举例如下:

    1     var obj =
    2     {
    3         name:"James",
    4         showName:function(){
    5             alert(name);
    6         }
    7     }

    通过控制台执行obj.showName() 输出为空字符串。

    原因:obj.showName()执行alert(name);语句时,由于没有为name指定上下文,所以会默认为window.name,而window.name的值为“”,所以输出空字符串。

    1     var obj =
    2     {
    3         name:"James",
    4         showName:function(){
    5             alert(this.name);
    6         }
    7     }

    改动:alert(this.name);

    通过控制台执行obj.showName() 输出为“James”。

    采用如下定义方式时,行为一致。

    1     function Obj(){
    2         this.name="James";
    3     }
    4     Obj.prototype.showName=function(){
    5         alert(this.name);
    6     }
    7     var obj = new Obj();
  • 相关阅读:
    文件操作回顾
    数据类型回顾
    面向对象三大特性之封装与多态
    面向对象之继承
    轮播图
    jQuery事件操作
    jQuery动画效果
    jQuery篇
    文档对象模型
    javascript
  • 原文地址:https://www.cnblogs.com/canger/p/6369490.html
Copyright © 2011-2022 走看看