当前位置:网站首页>组件化开发基本规范、localStorage 和 sessionStorage、对象数据转基本值、原型链使用
组件化开发基本规范、localStorage 和 sessionStorage、对象数据转基本值、原型链使用
2022-07-26 15:12:00 【半夜删你代码·】
组件化开发当中的基本规范:
1、数据在哪,修改数据的方法就在哪
2、数据从父组件传递给子组件,无论传递的是基本值还是对象地址,都是让子组件去使用的,而不是让你去修改的
3、props接收到的数据相当于是子组件data当中的数据,但是最大的区别就是data的数据,子组件可以随意改
而父组件传递过来的数据,不能在子组件修改,如果非要对传递过来的数据进行修改
那么可以根据传递过来的数据,计算自己的一份数据,然后可以修改,修改的时候修改的是自己计算的属性数据
在计算的属性数据当中set,里面也不能直接操作传递过来的数据,得调用传过来的方法去修改
深度监视
刷新还是原来的效果,不会回到初始的情况(数据存储分析)
一般监视和深度监视
如果监视的是数组,监视数组的长度,数组长度有改变,那么就会监视到
如果监视的是数组内部的对象的属性,那么一般监视监视不到,需要深度监视
监视的就是对象
监视的是对象的地址,一般监视只有对象的地址发生改变才能监视到
如果改变的是对象的属性,那么要深度监视
深度监视数据,保存
数据需要变为json然后取存储,否则数据下次取到的就看不懂了内部会调用对象的toString,数据变了
在data数据中,直接从localStorage中获取数据
localStorage 和 sessionStorage 和cookie
cookie:做状态保持时使用,不作为存储,且只能存4k
localStorage和sessionStorage 是h5新增的一种本地存储数据方式,本质是一个对象,存储量大小是 5M(chrome) 浏览器存储2.5 - 10
localStorage保存数据是永久保存(持久化存储),关闭浏览器 重新打开数据还在
sessionStorage 不是永久保存,会话存储。关闭浏览器数据清空
这两个东西存储数据,默认数据都会转化为字符串,以后存储基本数据都是直接加引号变为字符串
存储对象数据,数据就变了后期取出来就不是我们要的东西了
因此在存储对象数据的时候,一定要自己强制转化为json串。这样它就不会再改变我的数据了
存储: localStorage.setItem(键,值) 增或者改
获取: localStorage.getItem(键) 查 能获取到就获取到,获取不到返回null
删除: localStorage.removeItem(键) 删除某个键值对
改和增一样,第一次就是增后面就是改
清空: localStorage.clear()
对象数据转基本值
如果运算 比较 判等的过程当中遇到对象
当判等的时候两遍同时是对象,此时直接判地址不转化
其余都要转化
对象数据转基本值
对象转基本值两大步:
1、对象数据要调用valueOf方法,这个valueOf是Object的原型对象方法
valueOf方法调用是为了获取对象的原始值,拿到原始值,就代表转化基本值完成
但是只有包装对象才有原始值
2、数组对象函数调用valueOf的时候是没有原始值的,那么就会返回自身,接着
又会去调用toString方法,toString方法,各自是有各自的toString方法的,所以
数组函数对象各自调用各自的toString方法。各自的toString方法返回的东西是不一样的
数组转化出来的结果 去掉中括号,直接加引号
函数转化出来的结果 函数体加引号
对象转化出来的结果 [object Object]
所有的对象转换成布尔值都为true
对象和对象的判等,判断的是地址,不会转换
原型链使用
任何的函数对象都有prototype
任何的对象都有 __proto__
所有的函数对象实例化出来的对象身上只有__proto__,没有prototype
任何实例化的__proto__ 都等于函数对象的prototype对象找属性或方法会使用到原型链,找不到返回undefined
程序找变量用到作用域链,找不到报错
等号的左侧是变量或属性,左侧是什么绝对了使用什么链
边栏推荐
- 如何将规划图转成带经纬度的矢量数据geojson
- If food manufacturing enterprises want to realize intelligent and collaborative supplier management, it is enough to choose SRM supplier system
- Li Hongyi, machine learning 3. Gradient descent
- Ner of NLP: Exploration and practice of product title attribute recognition
- [five minute paper] reinforcement learning based on parameterized action space
- Unity URP入门实战
- The civil construction of the whole line of Guangzhou Metro Line 13 phase II has been completed by 53%, and it is expected to open next year
- 81. (cesium home) cesium modifies the gray background (default blue)
- OpenGL learning diary 2 - shaders
- About the selection of industrial control gateway IOT serial port to WiFi module and serial port to network port module
猜你喜欢

OpenGL学习日记2——着色器

食品制造企业想要实现智能协同的供应商管理,选择SRM供应商系统就够了

Practical task scheduling platform (scheduled task)

二叉树的创建以及遍历

【留点代码】将transformer运用到目标检测上来,通过debug了解模型的模型运算流程

带你熟悉云网络的“电话簿”:DNS

Vs add settings for author information and time information
![[leetcode daily question] - 121. The best time to buy and sell stocks](/img/51/ae7c4d903a51d97b70d5e69c6fffaa.png)
[leetcode daily question] - 121. The best time to buy and sell stocks

DevSecOps,让速度和安全兼顾

采购实用技巧,5个瓶颈物料的采购方法
随机推荐
数商云:引领化工业态数字升级,看摩贝如何快速打通全场景互融互通
Detailed explanation of nat/napt address translation (internal and external network communication) technology [Huawei ENSP]
数仓:数仓建设中的数据建模和日志体系
How to translate academic documents?
FOC学习笔记-坐标变换以及仿真验证
anaconda No module named ‘cv2‘
Driver development environment
Devsecops, speed and security
Qt最基本的布局,创建window界面
Desktop application layout
Continuous integration (II) introduction to the basic use of Jenkins
Bluetooth ble4.0-hm-10 device pairing Guide
R语言wilcox.test函数比较两个非参数样本的总体的中心位置是否具有显著差异(如果两个样本数据是配对数据设置paired参数为TRUE)
R语言ggplot2可视化:可视化折线图、使用aes函数中的group参数为不同分组可视化折线图
Complete MySQL commands
【静态代码质量分析工具】上海道宁为您带来SonarSource/SonarQube下载、试用、教程
DICOM学习资料收集
OpenGL学习日记2——着色器
MYSQL 命令大全
The R language uses the histogram function in the lattice package to visualize the histogram (histogram plot), the col parameter to customize the fill color, and the type parameter to customize the hi