闭包测试
分类:编程技术
时间:2024-02-20 18:01
浏览:0
评论:0
文章闭包测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
(function() { // -- 基础数据类型 { function func (val = 0) { return { decrease() { val-- }, increase() { val++ }, getVal() { return val } } } const props = 0 const instance1 = func(props) const instance2 = func(props) console.log(instance1.getVal()) // 0 console.log(instance2.getVal()) // 0 console.log(props) // 0 instance1.increase() console.log(instance1.getVal()) // 1 console.log(instance2.getVal()) // 0 console.log(props) // 0 }// -- 引用数据类型 { console.log('-- -- --') function func (param = { val: 0 }) { return { decrease() { param.val-- }, increase() { param.val++ }, getVal() { return param.val } } } const props = { val: 0 } const instance1 = func(props) const instance2 = func(props) console.log(instance1.getVal()) // 0 console.log(instance2.getVal()) // 0 console.log(props.val) // 0 instance1.increase() console.log(instance1.getVal()) // 1 console.log(instance2.getVal()) // 1 console.log(props.val) // 1 }}())