本帖最后由 hanvslin 于 2010-08-19 17:30:35 编辑

解决方案 »

  1.   

    1:对象直接量相, 意思是声明一个对象,对象名是obj句有 name 属性,值是‘zhangsan’;2
    function f1(){
    this.name = 11;
    var name = "gg"; //  var 声明的外部不能访问,可以看做私有变量
    name : "kk" //不合法, 是直接量写法
    }3  this就指object这个对象
      

  2.   

    3 中 的this貌似指向的window
    alert(object.getNameFunc()())执行这个输出的是"The Window"
    1的听不明白,2中我想问成员变量和var定义的变量有什么不同,也没有听明白你的意思,谢谢!
      

  3.   


    不好意思第三个看错了,this应该是指向window对象,当这个对象的内部函数并非这个对象的属性是this是被绑定到全局对象, 在浏览器中就是window对象
      

  4.   


    第一个=
    var obj = new Object();
    obj.name = "zhangsan";
      

  5.   

    问题一:是的,确切的说是对象直接量,JavaScript有两种对象,一种是普通对象,上面的那个就是,另外一种是function对象,您可以搜索JavaScript 面向对象 了解下
    问题二:var定义的变量时局部变量,function外是不能直接访问的,可以使用闭包来访问,而成员变量是只能在运行的时候确定到底是那个对象的变量,如:
    function f1(){
    this.name = 11;
    var name = "gg"; // var 声明的外部不能访问,可以看做私有变量
    }
    f1();
    那么这里的this指的就是window,因为我是在window下调用的
    第三个问题:
    var name = "The Window";  var object = {
        name : "My Object",    getNameFunc : function(){
          return function(){
            return this.name;//这里的this指哪个对象,为什么?
          };    }  };
    这里的this也是运行时才能确定
    如果我下面的方式执行
    object.getNameFunc()();
    这个this就是window对象,因为object.getNameFunc()返回的是一个方法,然后再()执行,执行的环境是在window下,如果我把getNameFunc 改成下面的内容
    getNameFunc : function(){
               alert(this.name);
          return function(){
            return this.name;//这里的this指哪个对象,为什么?
          };    }
    上面的this指的就是object对象了,不知道您能不能理解?
      

  6.   


    第二个 window.onload = function () {
    function F() {
    this.name = '123';
    var name = '456';
    } var f = new F();
    alert(f.name);   
    }
      

  7.   

    var obj = {
        name : "hh"
    }
    function fun(){
        this.name="hh";
    }
    var obj2 = new fun();
    alert(obj.name)
    alert(obj2.name)
    两个结果是一样的,怎么理解两种不同的成员变量定义的形式?
      

  8.   

    补充下:
    问题一:这种方式叫JSON,是指Javascript Object Notation, 即Javascript对象表示法