如何在javascript中读取undefined的属性

时间:2015-06-12 05:38:37

标签: javascript

不确定我在这里做错了什么。 它没有给我结果。

var dd= function(name){
    this.sayHello=function(){

        alert ("hello " + this.ss);
    }
    this.name=name;
}

dd("jack").sayHello();

我是否正确称呼它?什么是调试js的最佳工具

1 个答案:

答案 0 :(得分:7)

您的dd功能:

  1. 永远不会创建对象

  2. 永远不会从dd

  3. 返回任何内容
  4. 指两个不同的属性(namess),设置一个但使用另一个

  5. 您对dd函数的调用似乎期望它创建并返回一个对象,并且似乎期望sayHello使用dd设置的相同属性({{1 }})。

    所以:

    name

    或者,如果您想使用var dd = function(name) { return { sayHello: function() { alert("hello " + this.name); }, name: name }; }; dd("Jack").sayHello();关键字,则可以执行以下操作:

    new

    使用var Dd = function(name) { this.name = name; this.sayHello = function() { alert("hello " + this.name); }; }; new Dd("Jack").sayHello();,对象由new运算符创建,new表达式的结果是创建的对象new Dd(...)(除非new而是返回另一个对象。)

    请注意,我将第一个字母大写。这是在JavaScript中使用构造函数(通过Dd调用的函数)的压倒性约定。

    您还可以将new移动到将被指定为sayHello创建的对象原型的对象。被指定为原型的对象在new属性上可用,因此:

    DD.prototype

      

    什么是调试js的最佳工具

    所有现代浏览器都内置了功能齐全的调试器。通常可以通过按F12或Ctrl + Shift + I,或者当然可以从浏览器的菜单或hamburger button获得。你使用哪一个完全取决于你。我非常喜欢Chrome中的Dev Tools。