闭包的实际应用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
// 闭包的使用
var o = (function () {
var obj = {
a: 12,
b: '65',
c: ['1', 2],
d: {
d1: 1,
d2: '2'
}
}
return {
get: function (k) {
// 判断一下
if (obj.hasOwnProperty(k)) {
return obj[k]
} else {
return undefined
}
}
}
})();
console.log(o.get('d'));
// 未加判断时有漏洞
// Object.defineProperty(Object.prototype, 'abc', {
// get() {
// return this;
// }
// })
// var o2 = o.get('abc');
// o2.a = 123213;
// console.log(o2);
</script>
</html>
本文作者:进阶的哈姆雷特
本文链接:https://www.cnblogs.com/lbx6935/p/16845987.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步