JavaScript之构造函数

Posted add+

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript之构造函数相关的知识,希望对你有一定的参考价值。

js中构造函数:

// 构造函数
function Dog(sex) {
  // 公有属性
    this.sex = sex; 
    this.name = ‘blog‘;
  // 私有属性
   var sound = ‘汪汪汪‘; 
    var that = this; 
  // 私有方法
    function showName() {
        console.log(that.name);
    }
    showName();
}

 
/*
 * 向构造函数添加 公有属性/公有方法
 * 需要用到prototype
 * prototype 属性:使你有能力向对象添加属性和方法。
 * 向prototype中添加成员将会把新方法添加到构造函数的底层中去
 */
// 公有属性
Dog.prototype.color = ‘red‘;
// 公有方法
Dog.prototype.run = function() {
    return "10 km/h";
}

 
/*
 * 向构造函数添加 静态属性/静态方法
 * 注意部分特殊属性:如name默认指向方法名,修改此静态名称可能始终是方法名
 */
// 静态属性
 Dog.address = ‘火星‘;
// 静态方法
Dog.showSex = function (dog) {
    return dog.sex;
}

// 实例化
var dog1 = new Dog(‘boy‘);
// 1.调用公有属性/方法
console.log("color :",dog1.color)  // red
console.log("run :",dog1.run())  // 10 km/h

// 2.调用私有属性/方法
console.log("address :",dog1.constructor.address)  // 火星
console.log("showSex :",dog1.constructor.showSex(dog1))  // boy

// 3.属性方法查看
console.log("constructor :",dog1.prototype) // undefind console.log("prototype -Dog-:",Dog.prototype) // {object} console.log("constructor :",dog1.constructor) // function(){} console.log("constructor -Dog-:",Dog.constructor) // function(){}

 

以上是关于JavaScript之构造函数的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript之面向对象学习七(动态原型模式和寄生构造函数模式创建自定义类型)

JavaScript设计模式之构造函数模式

JavaScript之构造函数

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

深入理解JavaScript系列(26):设计模式之构造函数模式