js函数的私有属性和方法、静态属性和方法、实例属性和方法、原型属性和方法


function Test(name) {
	this.name = name          // 实例属性
    this.say = function() {   // 实例方法
      console.log(this.name)
    }
    
    let age = 14             // 私有属性
    function sing() {          // 私有方法
      console.log("sing")
    }
}
 
Test.language = 'chinese'        // 静态属性
Test.talk = function() {     // 静态方法
    console.log('talk')
}
 
Test.prototype.height = 180        // 原型属性
Test.prototype.dance = function() { // 原型方法
    console.log('dance')
}
  • 私有属性和私有方法在函数体外是不能访问的,如果要访问,可以使用闭包
  • 静态属性和静态方法可以在函数外直接访问
  • 实例属性和实例方法是绑定到函数实例上的,即函数作为构造函数使用
  • 原型属性和原型方法是挂在函数的原型对象上的,如果实例上找不到,会通过原型委托到函数的原型上。但是,当直接访问函数的静态属性和方法时,如果找不到,不会去函数的原型上查找

你可能感兴趣的:(javascript,前端)