如何定义JavaScript函数?
例如:
string.doSomething(); // OR
element.getSomeInfo();
我找不到任何相关内容,但也许是因为它有一个我不知道的名字。
<小时/> 的修改
大约四年后,让我重新解释一下这个问题来解释我的意思。我不知道对象,但基本上我的问题是“如何将函数定义为对象的属性?”。我不一定区分扩展本机Javascript类(这是一个坏主意),只是用函数作为属性定义我自己的对象。
所以,回答我自己的问题,这些是不同的方法:
let foo = {
bar: x=>1/x;
}
因此,例如,foo.bar(4)
会返回.25
。另一个:
function Rocket(speed){
this.speed = speed;
this.launch = ()=>{
this.speed = 'super fast and upwards';
}
}
现在可以定义let Apollo = new Rocket('standing still');
并调用Apollo.launch();
我们还可以通过
扩展这些类(包括本地类)Rocket.prototype.stop = function(){
this.speed = 'Standing still';
}
然后使用Apollo.stop();
调用它。
答案 0 :(得分:2)
function Person(name) {
this.name = name;
}
Person.prototype.sayHi = function() {
return "Hi, I'm " + this.name;
}
var p = new Person("Jack");
p.sayHi() === "Hi, I'm Jack" // evaluates to true
这是你正在寻找的吗?
答案 1 :(得分:1)
您可以将函数添加为对象的成员。
例如:
var foo = {};
foo.sayHello = function () {
alert('hello');
}
foo.sayHello();
答案 2 :(得分:1)
添加到内置String
对象(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/prototype)
String.prototype.doSomething = function(){
console.log('bingo!');
}
var aaa = "testing123";
aaa.doSomething();
我不确定你的意思是什么元素。