• 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。

  • 相关阅读:
    【洛谷 1144】最短路计数
    【洛谷 1608】路径统计
    【洛谷 1491】集合位置
    【洛谷 3110】驮运 Piggy Back
    【洛谷 1734】最大约束和
    【洛谷 1910】L国的战斗之间谍
    【洛谷 1048】采药
    【洛谷 1186】玛丽卡
    GeoServer(地图服务器)
    git cherry-pick 教程
  • 原文地址:https://www.cnblogs.com/youxin/p/2695330.html
Copyright © 2020-2023  润新知