IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue-尤雨溪讲课系列一 -> 正文阅读

[JavaScript知识库]vue-尤雨溪讲课系列一

最近在看尤雨溪的vue讲课记录一下笔记。
需求:(小型数据监听器) 实现一个convert对象,
1.遍历对象的所有属性,并重新定义它的setter,getter
2.每次访问或者修改属性值都要console.log()

<script>
        function isObject(obj) {
            return typeof obj === "object" &&
                !Array.isArray(obj) &&
                obj !== null &&
                obj !== undefined
        }

        function convert(obj) {
            if (!isObject(obj)) {
                throw new TypeError("Not an Object or Object is null or undefined");
            }
            Object.keys(obj).forEach(key => {
                //key keys(obj)返回的是obj的属性名称数组
                let internalValue = obj[key]; //当前属性的值
                Object.defineProperty(obj, key, {

                    set(newValue) {
                        console.log(`setting:${key}=${newValue}`);
                        internalValue = newValue;
                    },
                    get() {
                        console.log(`getting:${key}=${internalValue}`);
                        return internalValue
                    },

                })
            })
        }

        let obj = {
            name: '233',
            age: 23,
        };
        convert(obj); //这里开始记录
        obj.age = 21;

        console.log(obj);
    </script>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-15 11:41:41  更:2021-10-15 11:42:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 11:16:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码