js中可以通过方法来表示java中的实体类(方法名首字母大写)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
public class Person {
private int age;
private String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public void eat() {
Sytem.out.println(this.name + "在吃饭");
}
}
Person p = new Person(10, "李四");
p.eat();
</body>
<script>
/**
* 定义方法, 该方法的作用是作为生成对象一个模板方法。
* 在具体方法定义的时候,如果单纯只是作为一个方法来使用,首字母小写;
* 如果想根据该方法来生成对象,那么首字母大写。
*/
function Person(age, name, eat) {
this.age = age;
this.name = name;
this.eat = eat;
}
/** */
function eat() {
console.log(this); // Window
console.log('XXX在吃饭');
console.log(this.name + '在吃饭');
}
eat();
// 将如上定义的 eat() 方法作为参数, 传递给 Person模板方法的第三个参数
var person = new Person(10, '李四', eat);
person.eat();
/**
var person = new Person(10, '李四', function() {
console.log('XXX在吃饭');
console.log(this.name + '在吃饭');
});
*/
console.log(person.age)
console.log(person.name)
console.log(person.eat)
person.eat(); // 如果写成 person.eat 表示在获取 person的eat属性,而person.eat()表示调用方法
</script>
</html>