javascript创建函数的方式:
第一种(函数声明):
function sum1(num1,num2) {
return num1+num2
}
第二种(函数表达式)
let sum2 = function(num1,num2) {
return num1+num2
}
第三种(函数对象方式)
let sum3 = new Function('num1','num2','return num1+num2')
java创建对象的方式
1.简单对象的创建 使用对象字面量的方式{}
创建一个对象(最简单,好理解,推荐使用)
代码如下
let Cat = {} //Json
Cat.name = 'kity' //添加属性并赋值
Cat.age = 2
Cat.sayHello = function(){
alert('hello' + Cat.name + ',今年' + Cat['age'] + '岁了') //可以使用'.'的方式访问属性,也可以使用HashMap 的方式访问
}
Cat.sayHello() //调用对象的(方法)函数
2.用 function(函数)来模拟 class
2.1创建一个对象,相当于new一个类的实例(无参构造函数)代码如下:
function Person(){
}
let person()ne = new Person() //定义一个function,如果有new关键字去'实例化',那么该 function 可以看作是一个类
person()ne.name = 'dylan':
person()ne.hobby = 'coding'
person()ne.work = function(){
alert(person()me.name + 'is coding now...')
}
person()ne.work()
2.2可以使用有参构造函数来实现,这样定义更方便,扩展性更强(代码如下)
function Pet(name,age,hobby) {
this.name = name //this 作用域:当前对象
this.age = age
this.hobby = hobby
this.eat = function(){
alert('我叫' + this.name + ',我喜欢' + this.hobby + ',也是个吃货')
}
}
let maidou = new Pet('周晨',5,'敲代码') // 实例化/创建对象
maidou.eat() // 调用eat 方法(函数)
使用工行方式来创建(Object 关键字)代码如下:
let wcDog = new Object()
wcDog.name = '大黄'
wcDog.age = 3
wcDog.work = function() {
alert('我是' + wcDog.name + ',汪汪汪~~')
}
wcDog.work()
4.使用原型对象的方式 prototype 关键字 代码如下:
function Dog(){
}
Dog.prototype.name = '旺财'
Dog.prototype.eat = function() {
alert(this.name + '是个吃货')
}
let wangcai = new Dog()
wangcai.eat()
5.混合模式(原型和构造函数)代码如下:
function Car(name,price){
this.name = name
this.price = price
}
Car.prototype.sell = function(){
alert('我是' + this.name + ',我现在卖' + this.price + '万元')
}
let camry = new Car('凯美瑞',27)
camry.sell()
6.动态原型的方式(可以看作是混合模式的一种特例)代码如下
function Car(name,price){
this.name = name
this.price = price
if(typeof Car.sell == 'undefined'){
Car.prototype.sell = function(){
alert('我是' + this.name + ',我现在卖' + this.price + '万元')
}
Car.sell = true
}
}
let camry = new Car('凯美瑞',27)
camry.sell()
以上几种,是javascript 中最常用的创建对象的方式