封装:
封装 继承 多态
<1>封装是面向对象的三个基本特征之一,将现实世界的事物抽象成计算机领域中的对象,对象同时具有属性和行为(方法),这种抽象就是封装.
<2>函数(function)--最简单的封装。
<3>将零散的的语句写进函数的花括号内,成为函数体,然后就可以调用了。
<4>函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。
封装的含义就是把复杂的东西都封装起来,让别人调用的时候可以简单调用
该隐藏的隐藏,该暴露的暴露
不封装的缺点:
缺点:
<1>易被同名变量覆盖--因为在全局作用域下声明的变量,容易被同名变量覆盖
<2>立即执行--解析器读取到此处立即执行
封装为函数的优点:
<1>避免了全局变量--因为存在函数作用域
<2>按需执行--解析器读取到此处,函数并未执行,只有当你需要的时候,调用此函数即可
<3>提高代码重用性
封装四个函数:
setCookie()——创建Cookie
getCookie()——获取Cookie
removeCookie()——删除Cookie
claerCookie()—— 清空cookie
// setCookie()-创建cookie
// 键 值 时间 几天后
function setCookie(key, val, time) {
// 操作 存值
var date = new Date();
date.setDate(date.getDate() + time);
document.cookie = `${key}=${val};expires=${date}`;
}
// getCookie()-获取cookie
// key
function getCookie(key) {
var arry = document.cookie.split('; ');
for (var item of arry) {
var newArry = item.split('=');
if (newArry[0] == key) {
return newArry[1];
}
}
}
// removeCookie()-删除cookie
function removeCookie(key) {
// 调用当前的设置cookie 把时间 改成-1
// function setCookie(key, val, time)
this.setCookie(key, '', -1);
}
// 清空cookie
function clearCookie() {
var arry = document.cookie.split('; ');
for (var item of arry) {
var newArry = item.split("=");
console.log(newArry);
this.setCookie(newArry[0], '', -1);
this.removeCookie(newArry[0]);
}
}
调用小测试:
<script src="./myCookie.js"></script>
<script>
// 创建cookie
setCookie('userName', '张三');
setCookie('address', '上海');
setCookie('age', '18');
// 获取cookie
var add = getCookie('address');
console.log(add);
// 删除cookie
removeCookie('age');
// 清空cookie
// clearCookie();
</script>