JavaScript谜题我可以'我想不通
JavaScript Puzzle I can't figure out
这是一个代码战的卡塔,我似乎无法理解。我以前从未使用过JavaScript。
我知道答案可能很简单,但即使经过几个小时的搜索,我似乎也不明白他们在寻找什么。我知道greet
函数中的name
没有定义,但当我定义它时,它会说它不是它要查找的值。
function Person(name){
this.name = name;
}
Person.prototype.greet = function(otherName){
return "Hi " + otherName + ", my name is " + name;
}
请帮忙,如能解释,我们将不胜感激。
我真的不明白你在寻找什么,但希望这能带来一些启示:(在你的控制台上试试)
function Person(name){
this.name = name;
}
Person.prototype.greet = function(otherName){
return "Hi " + otherName + ", my name is " + this.name;
}
var p = new Person('jack');
p.greet('sparrow');
Tyagi向您解释了如何调用它,但没有显示代码的实际问题是什么:
这是我(非常相似)的例子:
function Person(name) {
this.name = name;
}
Person.prototype.greet = function (otherName) {
return "Hi " + otherName + ", my name is " + this.name;
}
var john = new Person("John");
$("#result").text(john.greet("Mike"));
如果你点击这个JSFiddle,你可以看到它确实在工作。两者的区别只是在greet()函数中将"name"更改为"this.name"。您将向每个Person对象附加一个新函数,但它不会按照定义的方式自动在该函数中查找对象上的名称变量。
我不明白你的问题,但我会尝试解释它是如何工作的:
// define a function (or class) called 'Person'
function Person(name){
// add data members 'name' to 'this' pointer which points to current context
this.name = name;
}
// define a method in 'Person' class
Person.prototype.greet = function(otherName){
//'othername' is an argument which you passed while calling 'greet' method
//'name' is an data memeber which you declared while creating 'Person' class
// will return value when you call this method
return "Hi " + otherName + ", my name is " + this.name;
}
// create a class object
var person = new Person('Mohit');
// call its 'greet' method
// will show an alert 'Hi Bekk, my name is Mohit'
alert(person.greet('Bekk'));
JSFiddle链接:http://jsfiddle.net/QqnL5/
相关文章:
- 我想放一个JS函数,它适用于列表的所有元素,但我可以't将其复制到每个元素中
- Javascript:我可以't找到正确的方式来表达布尔“;如果“;以得到我想要的结果
- 我可以'Don’我不想让我的程序继续下去;m使用document.write,因为它在html中使用JavaSc
- 想知道我是否可以在不了解高级JavaScript的情况下开始学习Angularjs
- 我想隐藏一个没有'没有js文件中的id.我想不通,请告诉我
- JavaScript谜题我可以'我想不通
- 我想知道是否可以使用 node.js 在窗口之间发送数据
- 我想修改 LCR 算法,以便我可以有多个领导者
- 我想知道是否可以更改形状的属性 z 索引?诺基亚地图API
- 我的 json 请求不会触发之前发送的请求.似乎想不通为什么
- JQuery:由于某种原因,文本被添加到文本框中,我可以'我想不通
- 我可以'我想不出这件事的结局
- JavaScript窗口.getSelection()可以'我想不通
- 第一次JavaScript测试失败-我只能'我想不通
- 在Flow中,我可以声明一个函数签名,以便我可以在任何我想要的地方重用它吗?
- 我有四到五个对象数组,我想通过某种方式过滤,我可以在一个新数组中得到相同的对象
- 钛工作室,JavaScript和SQL错误…我想不通
- 我想知道我们可以在(if else)语句中创建函数
- 面临错误-can'我想不通
- 使用AngularJS,我不想设置全局$http.defaults.headers.common.我可以在每次$reso