zoukankan      html  css  js  c++  java
  • javascript对象小问题

    看下面的代码:定义了一个对象直接量:

    var person={
        name:"jack",
        setName:function(name){
            this.name=name; 
        },
        getName:function(){
            return name;
        }
    };
    document.write('<br/>'+person.getName());
    person.setName('susan');
    document.write('<br/>'+person.getName());

    输出没有任何结果。

    怎么改?

    return name; 改为
    return this.name;
    就可以了
    我们不经要问,对象直接量中的method的this指向谁?

    JavaScript根本上都是关于的对象(Object)的。数组(Array)是对象,函数(Function)是对象,Object就不说了。那什么是对象?对象是名称-值的配对的集合。名称是字符串,值可以是字符串、数字、布尔值和对象(包括数组和函数)。对象常常实现为哈希表以快速存取值。

    如果一个值是函数,我们可以将它视为方法method。当调用一个对象的方法时,this 变量就会被设为该对象。这个方法就可以通过this变量访问实例变量。

    对象是由构造器constructor产生的,它是初始化对象的函数。构造器提供了其它语言中类提供的特性,包括静态方法和变量。。

    从上面语句中可以看到:

    person调用了方法,this指向的是person。

  • 相关阅读:
    HDU 4552 怪盗基德的挑战书
    Qt中QUdpSocket序列化问题
    简单Qt网络通信
    QT快捷键
    Qt 程序退出时断言错误——_BLOCK_TYPE_IS_VALID(pHead->nBlockUse),由setAttribute(Qt::WA_DeleteOnClose)引起
    [转载]
    [百科]
    [百科]sys/types.h
    string.h文件中函数用法
    c++ <string.h>中包括哪些常用函数
  • 原文地址:https://www.cnblogs.com/youxin/p/2695330.html
Copyright © 2011-2022 走看看