当前位置: 首页 > news >正文

vue源码笔记之——运行时runtime

在这里插入图片描述

源码中的位运算

  1. 按位于 运算
if (shapeFlag & ShapeFlags.TELEPORT) {

解释:如果shapFlag本身值为8,type为1的话,那么转换为二进制(js都是32位)那就是
shapFlag:00000000 00000000 00000000 00001000
type: 00000000 00000000 00000000 00000001
结果为: 00000000 00000000 00000000 00000000
按位进行运算,如果两个都为为1那就是1,否则为0,所以结果为0
2. 按位或 赋值

vnode.shapeFlag |= type
// 和这个代码一样
vnode.shapeFlag = vnode.shapeFlag |type

解释:如果shapFlag本身值为8,type为1的话,那么转换为二进制(js都是32位)那就是
shapFlag:00000000 00000000 00000000 00001000
type: 00000000 00000000 00000000 00000001
结果为: 00000000 00000000 00000000 00001001
按位进行运算,如果有一个为1那就是1,所以结果为9

http://www.lryc.cn/news/213129.html

相关文章:

  • MySQL数据库干货_09—— MySQL中的外键约束(Foreign Key)
  • springboot配置https
  • java - IDEA IDE - 设置字符串断点
  • 【图像分类】基于计算机视觉的坑洼道路检测和识别(ResNet网络,附代码和数据集)
  • 关于readline方法使用的一个中文乱码引发的思考
  • BUUCTF 神秘龙卷风 1
  • 【JavaEE初阶】 认识文件与Java中操作文件
  • 数据结构───链表
  • SQLAlchemy删除所有重复的用户|Counter类运用
  • Lec11 Thread switching (Robert)
  • 前端的简单介绍
  • 云服务器 centos 部署 code-server 并配置 c/c++ 环境
  • Ubuntu 22.04 安装 Terraform
  • MLF - 麻辣粉
  • Flutter三棵树的创建流程
  • 思维训练第二课 独立主格
  • 一致性哈希揭秘,深入解析其工作原理
  • 前端环境的安装 Node npm yarn
  • 基于机器视觉的银行卡识别系统 - opencv python 计算机竞赛
  • 大数据工具-kafkaUi-lite
  • Vdue之模版语法指令过滤器计算属性监听属性
  • Mysql权限控制语句
  • 小程序如何导入配送账号
  • ubuntu(18.04) 安装 blast 并在php中调用
  • UML—时序图是什么
  • 【每日一题Day364】LC2003每棵子树内缺失的最小基因值 | dfs
  • 调试记录 单片机GD32F103C8T6(兆易创新) 程序烧写完成但是没有现象 (自己做的板子)
  • Leetcode刷题笔记--Hot91--100
  • 算法训练一——链表
  • 【JAVA】类与对象的重点解析