mui实现手机web前端拍照_Web前端JavaScript面向对象闭包实现封装小实例

6c6fa93b33aafce851ff8892e5c504f7.png

网络图片

闭包,是几乎所有前端工程师必须要掌握的一个技术,这里简单说一下闭包的概念,闭包就是指在函数中调用函数以外作用域的行为。常见的闭包就是在函数内部再定义一个函数时,触发内部函数,使用外部函数的行为。

之前的对象创建分为原生部分和原型部分,基于闭包方式,可以把私有的基本类型打包起来,基于函数返回值方式建立引用。

但是原型部分的定义,感觉和闭包定义本身没有什么联系,所有再重新定义一个闭包。尝试把原型的定义也打包起来。

以下案例主要是理解关于JavaScript中封装思想,以及如何使用闭包技术来封装对象。

var Product = (function(){

var num = 10;

function _product(id,name,costPrice){

// 公有属性

this.name=name;//产品名称

// 公有方法

this.show=function(){

console.log("2019新品:"+this.name+",价格公道,只要:"+calculatorSalePrice());

}

// 私有方法

function calculatorSalePrice(){

return costPrice*4.5; // 一般手机利润是400%左右

}

// 私有属性

var _id = id;//产品编号

var _costPrice=costPrice;//产品成本价

// 特权方法(getter&setter)

this.setId=function(id){

_id = id;

}

this.getId=function(){

return _id;

}

this.setCostPrice=function(costPrice){

_costPrice = costPrice;

}

// 构造器

//this.setName(name);

this.setCostPrice(costPrice);

}

// 类原型公有定义

_product.prototype ={

// 公有属性

isCellphone: true,

// 公有方法

toString : function(){

console.log("果果爸爸青少年编程推荐,"+this.name+"好")

}

}

// 返回上面所有定义

return _product;

})();

var huawei=new Product("1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值