javascript创建函数与对象的方式小结

324 阅读2分钟

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 中最常用的创建对象的方式