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

JavaScript(1)每天10个小知识点


目录

    • 1. JavaScript 有哪些数据类型,它们的区别?**
    • 2. 数据类型检测的方式有哪些**
    • 3. null 和 undefined 区别**
    • 4. intanceof 操作符的实现原理及实现**
    • 5. 如何获取安全的 undefined 值?**
    • 6. Object.is() 与比较操作符 “===”、“==” 的区别**
    • 7. 什么是 JavaScript 中的包装类型?**
    • 8. 为什么会有 BigInt 的提案?**
    • 9. 如何判断一个对象是空对象**
    • 10. const 对象的属性可以修改吗**


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!


1. JavaScript 有哪些数据类型,它们的区别?**

JavaScript有多种数据类型,它们主要分为两大类:原始数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。

  1. 原始数据类型(Primitive Data Types):

    • 字符串(String):表示文本数据,使用单引号或双引号括起来。例如:

      let str = 'Hello, World!';
    • 数字(Number):表示数值,包括整数和浮点数。例如:

      let num = 42;
      let floatNum = 3.14;
    • 布尔(Boolean):表示逻辑值,只有两个值:true和false。例如:

      let isTrue = true;
      let isFalse = false;
    • 空值(Null):表示没有值或空对象。例如:

      let emptyValue = null;
    • 未定义(Undefined):表示声明了变量但没有给它赋值时的默认值。例如:

      let undefinedVar;
    • 符号(Symbol):表示唯一且不可变的值,通常用于对象属性的标识符。ES6引入了Symbol。例如:

      const uniqueSymbol = Symbol('description');
  2. 引用数据类型(Reference Data Types):

    • 对象(Object):表示复杂的数据结构,可以包含多个属性和方法。例如:

      let person = {name: 'John',age: 30
      };
    • 数组(Array):表示有序的列表,可以包含多个值,通过索引访问。例如:

      let colors = ['red', 'green', 'blue'];
    • 函数(Function):表示可执行的代码块,可以重复使用。例如:

      function greet(name) {return 'Hello, ' + name + '!';
      }

原始数据类型是不可变的,而引用数据类型是可变的。当复制原始数据类型时,会创建一个新的独立副本,而复制引用数据类型时,实际上是复制了引用地址,多个变量可能指向同一个对象。

这些数据类型在JavaScript中非常重要,了解它们的特性和区别有助于更好地编写和理解JavaScript代码。

2. 数据类型检测的方式有哪些**

在JavaScript中,您可以使用多种方式来进行数据类型检测。以下是一些常用的方法:

  1. typeof 操作符
    使用typeof操作符可以检测一个值的数据类型,它返回一个字符串,表示该值的数据类型。例如:

    typeof 42;          // "number"
    typeof "Hello";     // "string"
    typeof true;        // "boolean"
    typeof undefined;   // "undefined"
    typeof null;        // "object"(这是一个历史遗留问题,null实际上应该返回"null")
    typeof {};          // "object"
    typeof [];          // "object"
    typeof function(){}; // "function"

    注意:typeof null返回"object"是一个历史遗留问题,实际上null应该返回"null"。

  2. instanceof 操作符
    instanceof操作符用于检测一个对象是否是某个构造函数的实例。例如:

    let arr = [];
    arr instanceof Array; // true

    这种方法主要用于检测引用数据类型的具体类型。

  3. Object.prototype.toString.call()
    这是一种更精确的方式来检测数据类型,特别是用于检测引用数据类型。例如:

    Object.prototype.toString.call(42);          // "[object Number]"
    Object.prototype.toString.call("Hello");     // "[object String]"
    Object.prototype.toString.call(true);        // "[object Boolean]"
    Object.prototype.toString.call(undefined);   // "[object Undefined]"
    Object.prototype.toString.call(null);        // "[object Null]"
    Object.prototype.toString.call({});          // "[object Object]"
    Object.prototype.toString.call([]);          // "[object Array]"
    Object.prototype.toString.call(function(){}); // "[object Function]"
  4. Array.isArray()
    用于检测一个值是否是数组。例如:

    Array.isArray([]); // true
    Array.isArray({}); // false
  5. typeof 与 instanceof 结合
    有时候,使用typeofinstanceof可以结合使用来更精确地检测数据类型。例如:

    function isString(value) {return typeof value === 'string' || value instanceof String;
    }isString("Hello");          // true
    isString(new String("Hi"));  // true
    isString(42);                // false

请根据您的需求选择合适的方法来进行数据类型检测。不同的方法适用于不同的情况和数据类型。

3. null 和 undefined 区别**

nullundefined是 JavaScript 中的两种特殊值,它们都表示缺失或无效的值,但在某些方面有一些不同之处:

  1. undefined:

    • 当声明了一个变量但没有初始化时,它的值为undefined
    • 未定义的变量也会被视为undefined
    • 作为函数参数的未提供的参数默认为undefined
    • 在对象中访问不存在的属性时,返回undefined
    • 在数组中访问不存在的元素时,返回undefined

    示例:

    let x;
    console.log(x); // undefinedlet y;
    console.log(y); // undefinedfunction foo(a) {console.log(a);
    }foo(); // undefinedlet obj = {};
    console.log(obj.propertyThatDoesNotExist); // undefinedlet arr = [1, 2, 3];
    console.log(arr[10]); // undefined
  2. null:

    • null是一个表示空值或无值的特殊对象。
    • 当您希望明确表示一个变量或属性的值为空时,可以将其赋值为null
    • 通常由开发人员显式设置,表示主动将一个值置为空。

    示例:

    let x = null;
    console.log(x); // nulllet obj = { prop: null };
    console.log(obj.prop); // null

总结:

  • undefined通常表示未定义、缺失或默认值,而null表示明确的空值。
  • 在条件比较中,nullundefined通常被视为相等,但不等于任何其他值。
  • 当您需要区分变量是否已声明或者是否已赋值为空时,undefined更适合。
  • 当您需要明确表示某个属性或变量的值为空时,null更适合。

4. intanceof 操作符的实现原理及实现**

instanceof操作符用于检测一个对象是否是某个构造函数的实例。它的实现原理可以简单描述为:检查对象的原型链是否包含构造函数的prototype属性。如果原型链中的任何一个原型等于构造函数的prototype属性,instanceof返回true,否则返回false

下面是一个简单的实现instanceof操作符的示例代码:

function customInstanceof(obj, constructor) {// 检查参数有效性if (typeof obj !== 'object' || obj === null) {return false;}let proto = Object.getPrototypeOf(obj); // 获取对象的原型// 循环查找原型链while (proto !== null) {if (proto === constructor.prototype) {return true; // 找到匹配的原型,返回true}proto = Object.getPrototypeOf(proto); // 继续查找下一个原型}return false; // 在整个原型链中未找到匹配的原型,返回false
}// 示例用法
function Person(name) {this.name = name;
}const person = new Person('John');console.log(customInstanceof(person, Person)); // true,person是Person的实例
console.log(customInstanceof(person, Object)); // true,person也是Object的实例
console.log(customInstanceof(person, Array));  // false,person不是Array的实例

这个自定义的customInstanceof函数首先检查了传入的参数是否为对象,然后通过Object.getPrototypeOf来获取对象的原型,并不断循环查找原型链,直到找到与构造函数的prototype属性相等的原型,或者到达原型链的末尾为止。如果找到匹配的原型,函数返回true,否则返回false

需要注意的是,这只是一个简化版的实现,实际的instanceof操作符还会处理一些特殊情况,比如nullundefined值。

5. 如何获取安全的 undefined 值?**

在 JavaScript 中,获取安全的 undefined 值通常是不必要的,因为 undefined 通常用于表示变量未初始化或者对象属性不存在等情况。然而,如果您希望确保获取到的是真正的 undefined 而不是被覆盖或修改过的值,可以采取以下方法:

  1. 使用全局的 undefined 对象

    let safeUndefined = undefined; // 创建一个局部变量并赋值为全局的 undefined

    这将确保 safeUndefined 变量的值一定是全局 undefined,无法被修改。

  2. 比较值与 undefined

    您可以使用严格相等(===)运算符来比较一个值是否等于 undefined

    let x; // 未初始化的变量
    if (x === undefined) {// 这里处理 x 为 undefined 的情况
    }

    这种方式可以确保 x 的值是真正的 undefined

  3. 使用默认参数

    在函数参数中,您可以使用默认参数来确保参数在未提供时的值为 undefined

    function exampleFunction(param = undefined) {// param 在未提供时会默认为 undefined
    }

    这样调用函数时,如果不传递参数,param 将始终为 undefined

需要注意的是,尽管上述方法可以获取安全的 undefined 值,但在实际编程中,通常不需要特意获取安全的 undefined,因为 JavaScript 在大多数情况下会正确处理 undefined 值。只有在特殊需求下或为了保持代码的可读性时才使用这些方法。

6. Object.is() 与比较操作符 “=”、“” 的区别**

Object.is() 和比较操作符 ===== 在 JavaScript 中用于比较值之间的差异。它们之间的主要区别如下:

  1. ===(严格相等操作符)
    • === 比较两个值是否严格相等,即类型和值都相等。
    • 如果两个值的数据类型不同或值不同,返回 false
    • 用于避免类型强制转换,因此通常被认为是更安全和可靠的比较方式。
    • 例如:1 === 1 返回 true1 === '1' 返回 false
  2. ==(相等操作符)
    • == 比较两个值是否相等,但允许进行类型强制转换。
    • 如果两个值的类型不同,JavaScript 会尝试将它们转换为相同的类型,然后再比较。
    • 由于类型强制转换可能导致意外的结果,因此通常要谨慎使用。
    • 例如:1 == 1 返回 true1 == '1' 也返回 true,因为后者会将字符串 '1' 转换为数字 1 进行比较。
  3. Object.is()
    • Object.is() 是 ECMAScript 6 中引入的方法,用于比较两个值是否严格相等。
    • === 不同的是,Object.is() 对于特殊值(NaN0)有不同的行为。
    • Object.is() 会返回 true,只有当两个值在严格相等性比较下也相等,或者都是 NaN 时才返回 true。否则,返回 false
    • 例如:Object.is(NaN, NaN) 返回 trueObject.is(0, -0) 返回 false

比较操作符 ===== 的主要区别在于类型转换。使用 === 可以避免类型强制转换,更容易预测和理解。Object.is() 则在特殊情况下,如 NaN-0 的比较上表现不同,它更关注于严格相等性的概念。在选择使用哪种比较方式时,需要根据具体需求和预期结果来决定。

7. 什么是 JavaScript 中的包装类型?**

JavaScript 中的包装类型是指基本数据类型(如字符串、数字、布尔等)对应的对象类型。这些包装类型允许您在基本数据类型和对象之间进行转换,使得基本数据类型能够调用对象的方法和访问属性。JavaScript 中有三种常见的包装类型:

  1. String 包装类型

    • 对应基本数据类型字符串。

    • 允许字符串调用对象的方法。

    • 例如:

      let str = 'Hello, World!';
      let strObject = new String(str); // 使用构造函数创建字符串包装对象
      let length = strObject.length; // 使用包装对象的属性
      let uppercase = strObject.toUpperCase(); // 使用包装对象的方法
  2. Number 包装类型

    • 对应基本数据类型数字。

    • 允许数字调用对象的方法。

    • 例如:

      let num = 42;
      let numObject = new Number(num); // 使用构造函数创建数字包装对象
      let decimalPlaces = numObject.toFixed(2); // 使用包装对象的方法
  3. Boolean 包装类型

    • 对应基本数据类型布尔值。

    • 允许布尔值调用对象的方法。

    • 例如:

      let bool = true;
      let boolObject = new Boolean(bool); // 使用构造函数创建布尔包装对象
      let valueOf = boolObject.valueOf(); // 使用包装对象的方法

需要注意的是,尽管可以使用构造函数创建包装对象,但通常不建议这样做,因为它会导致性能下降,并且可能引发意外的行为。最好的做法是直接使用基本数据类型,只在必要时使用包装类型。JavaScript 引擎会在需要时自动将基本数据类型转换为包装类型,然后执行操作,然后再将其转换回基本数据类型。这个过程被称为自动装箱(Autoboxing)和自动拆箱(Unboxing)。

8. 为什么会有 BigInt 的提案?**

BigInt 的提案是为了解决 JavaScript 中整数表示范围的限制问题。在 JavaScript 中,整数是基于 IEEE 754 浮点数标准的双精度浮点数表示的,这导致了整数的表示范围有限,最大安全整数是 2^53 - 1,即 Number.MAX_SAFE_INTEGER

BigInt 提案的主要动机如下:

  1. 大整数运算:在某些应用中,需要处理非常大的整数,例如密码学、大数据计算、高精度数学计算等。传统的 JavaScript 整数无法满足这些需求。
  2. 整数精度:浮点数精度有限,对于大整数计算可能会导致精度丢失。BigInt 提供了可以表示任意精度的整数,不会发生精度丢失的问题。
  3. 与其他语言的互操作性:许多其他编程语言都具有原生支持大整数的能力,为了与这些语言进行互操作,JavaScript 需要提供类似的功能。

BigInt 提案引入了新的数据类型 BigInt,以及一组操作符和方法来支持大整数计算。以下是 BigInt 的一些示例用法:

const bigIntValue = 1234567890123456789012345678901234567890n; // 创建 BigInt
const result = bigIntValue + 1n; // 进行 BigInt 运算
console.log(result); // 输出 1234567890123456789012345678901234567891n

要注意的是,BigInt 是一种特殊的数据类型,与常规的数字(Number)不兼容。因此,BigInt 不支持与 Number 直接混合运算,需要通过显式转换或使用 BigInt 相关的操作符来处理。

BigInt 的提案已经被添加到 ECMAScript 标准中,因此现在可以在支持的 JavaScript 引擎中使用 BigInt 进行大整数计算。这使得 JavaScript 可以更好地满足处理大整数的需求,并增强了语言的通用性和功能性。

9. 如何判断一个对象是空对象**

要判断一个对象是否是空对象,您可以使用以下几种方法:

  1. 使用Object.keys()方法
    Object.keys(obj) 返回一个包含对象所有属性名称的数组。如果对象是空对象,那么这个数组应该是空的。

    function isEmptyObject(obj) {return Object.keys(obj).length === 0;
    }const emptyObject = {};
    const nonEmptyObject = { key: 'value' };console.log(isEmptyObject(emptyObject));      // true
    console.log(isEmptyObject(nonEmptyObject));   // false
  2. 使用for...in循环
    通过遍历对象的属性,如果没有任何属性被遍历到,那么对象就是空的。

    function isEmptyObject(obj) {for (let key in obj) {if (obj.hasOwnProperty(key)) {return false;}}return true;
    }const emptyObject = {};
    const nonEmptyObject = { key: 'value' };console.log(isEmptyObject(emptyObject));      // true
    console.log(isEmptyObject(nonEmptyObject));   // false
  3. 使用JSON.stringify()
    JSON.stringify(obj) 将对象转换为 JSON 字符串。如果对象是空对象,那么 JSON 字符串应该是'{}'

    function isEmptyObject(obj) {return JSON.stringify(obj) === '{}';
    }const emptyObject = {};
    const nonEmptyObject = { key: 'value' };console.log(isEmptyObject(emptyObject));      // true
    console.log(isEmptyObject(nonEmptyObject));   // false

这些方法都可以用来判断一个对象是否为空对象,您可以根据自己的需求选择其中的任何一个。请注意,这些方法都不会检查对象的原型链上的属性,只会检查对象本身的可枚举属性。

10. const 对象的属性可以修改吗**

在 JavaScript 中,使用 const 声明的变量是常量,这意味着它们不能被重新赋值。然而,const 声明的对象本身是不可变的,但对象属性(对象的值)是可以被修改的。

例如,您可以声明一个包含对象的常量,并修改该对象的属性:

const person = {name: 'John',age: 30
};// 可以修改对象的属性
person.name = 'Alice';
person.age = 35;console.log(person); // { name: 'Alice', age: 35 }

在上面的示例中,person 是一个常量,但我们可以修改 person 对象的属性(nameage)的值。这是因为 const 仅限制了变量(person)的重新赋值,而不限制对象属性的更改。

如果您希望完全禁止对象属性的修改,可以考虑使用 Object.freeze() 方法来冻结对象:

const person = Object.freeze({name: 'John',age: 30
});// 尝试修改对象的属性会导致错误
person.name = 'Alice'; // 无效,但不会报错console.log(person); // { name: 'John', age: 30 }

在这种情况下,任何尝试修改 person 对象的属性都将被忽略,但不会引发错误。

相关文章:

JavaScript(1)每天10个小知识点

​ 目录 1. JavaScript 有哪些数据类型,它们的区别?**2. 数据类型检测的方式有哪些**3. null 和 undefined 区别**4. intanceof 操作符的实现原理及实现**5. 如何获取安全的 undefined 值?**6. Object.is() 与比较操作符 “”、“” 的区别*…...

scanf和scanf_s函数详解

目录 引言: 1.scanf函数的用法: 2.scanf_s函数的用法: 3.scanf和scanf_s的区别: 结论: 引言: 在C语言中,输入函数scanf是非常常用的函数之一,它可以从标准输入流中读取数据并将其…...

基于SSM的在线购物系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

认识JVM的内存模型

从上一节了解到整个JVM大的内存区域,分为线程共享的heap(堆),MethodArea(方法区),和线程独享的 The pc Register(程序计数器)、Java Virtual Machine Stacks(…...

Java8实战-总结19

Java8实战-总结19 使用流映射对流中每一个元素应用函数流的扁平化 使用流 映射 一个非常常见的数据处理套路就是从某些对象中选择信息。比如在SQL里,你可以从表中选择一列。Stream API也通过map和flatMap方法提供了类似的工具。 对流中每一个元素应用函数 流支持…...

论文浅尝 | 训练语言模型遵循人类反馈的指令

笔记整理:吴亦珂,东南大学硕士,研究方向为大语言模型、知识图谱 链接:https://arxiv.org/abs/2203.02155 1. 动机 大型语言模型(large language model, LLM)可以根据提示完成各种自然语言处理任务。然而&am…...

【云计算网络安全】解析DDoS攻击:工作原理、识别和防御策略 | 文末送书

文章目录 一、前言二、什么是 DDoS 攻击?三、DDoS 攻击的工作原理四、如何识别 DDoS 攻击五、常见的 DDoS 攻击有哪几类?5.1 应用程序层攻击5.1.1 攻击目标5.1.2 应用程序层攻击示例5.1.3 HTTP 洪水 5.2 协议攻击5.2.1 攻击目标5.2.2 协议攻击示例5.2.3 …...

64位Linux系统上安装64位Oracle10gR2及Oracle11g所需的依赖包

在64位Linux系统上安装64位Oracle 10gR2,到底需要装哪些包? 这不是一个完整的安装教程,仅仅探讨在64位CentOS 5.8系统上安装64位Oracle 10gR2,到底需要装哪些RPM包. 实验环境VMWare Workstation 8.0 Linux发行版: CentOS 5.8 x86_64 Kernel版本: 2.6.18-308.el5 Oracle Dat…...

Unity InputSystem 基础使用之鼠标交互

资料 官方文档 导入InputSystem包 Package Manager 搜索Input System进行下载启用该包,会重启Unity Editor 注意 InputSystem可以和旧版输入系统一起使用 设置:Project Settings->Player->Other Settings->Configuration->Active Input…...

《算法竞赛·快冲300题》每日一题:“二进制数独”

《算法竞赛快冲300题》将于2024年出版,是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码,以中低档题为主,适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 二…...

CnosDB 签约京清能源,助力分布式光伏发电解决监测系统难题。

近日,京清能源采购CnosDB,升级其“太阳能光伏电站一体化监控平台”。该平台可以实现电站设备统一运行监控,数据集中管理,为操作人员、维护人员、管理人员提供全面、便捷、差异化的数据和服务。 京清能源集团有限公司(…...

汇编:lea 需要注意的一点

lea和mov的效用上不一样,如果当前%rsi的值是0, lea 0x28(%rsi),%rax ,这个只是计算一个地址,而不是去做地址访问。 mov 0x8(%rsi),%rsi,而这个mov,在计算完地址,还要访问内存地址。如果rsi是0&a…...

SQL语言的分类:DDL(数据库、表的增、删、改)、DML(数据的增、删、改)

数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等。 操作数据库的SQL语言,基于功能,划分为4类: 1、数据定…...

微信小程序精准扶贫数据收集小程序平台设计与实现

摘 要 近些年以来,随着我国的互联网技术的不断进步,计算机科学技术的发展也在不断的快速发展。在当下“互联网”的带动下,我国的各行各业,上到政府机关下到小微企业都通过互联网的发展带动取得了很好的发展势头。我国这两年来通过…...

PostgreSQL 流复制搭建

文章目录 前言1. 配置环境1.1 环境介绍1.2 主库白名单1.3 主库参数配置 2. 流复制搭建2.1 备份恢复2.2 创建复制用户2.3 参数修改2.4 启动并检查2.5 同步流复制2.6 同步复制级别 3. 流复制监控3.1 角色判断3.2 主库查看流复制3.3 延迟监控3.4 备库查询复制信息 前言 PostgreSQ…...

机器学习笔记之最优化理论与方法(十)无约束优化问题——共轭梯度法背景介绍

机器学习笔记之最优化理论与方法——共轭梯度法背景介绍 引言背景:共轭梯度法线性共轭梯度法共轭方向共轭VS正交共轭方向法共轭方向法的几何解释 引言 本节将介绍共轭梯度法,并重点介绍共轭方向法的逻辑与几何意义。 背景:共轭梯度法 关于…...

Mybatis核心对象及工作流程

目录 一、mybatis核心对象 (1)SqlSession对象直接操作数据库 (2)SqlSession对象通过代理对象操作数据库 二、mybatis工作流程 一、mybatis核心对象 (1)SqlSessionFactoryBuilder SqlSession工厂构建者对…...

无swing,高级javaSE毕业之贪吃蛇游戏(含模块构建,多线程监听服务),已录制视频

JavaSE,无框架实现贪吃蛇 B站已发视频:无swing,纯JavaSE贪吃蛇游戏设计构建 文章目录 JavaSE,无框架实现贪吃蛇1.整体思考2.可能的难点思考2.1 如何表示游戏界面2.2 如何渲染游戏界面2.3 如何让游戏动起来2.4 蛇如何移动 3.流程图…...

Kafka3.0.0版本——消费者(消费者组详细消费流程图解及消费者重要参数)

目录 一、消费者组详细消费流程图解二、消费者的重要参数 一、消费者组详细消费流程图解 创建一个消费者网络连接客户端,主要用于与kafka集群进行交互,如下图所示: 调用sendFetches发送消费请求,如下图所示: (1)、Fet…...

算法通关村-----位运算在海量元素中查找重复元素的妙用

用4KB内存寻找重复元素 问题描述 给定一个数组,包含从1到N的整数,N最大为32000,数组可能还有重复值,且N的取值不定,若只有4KB内存可用,如何打印数组中所有的重复元素。 问题分析 Java中存储整数使用int…...

RabbitMQ: Publish/Subscribe结构

生产者 package com.qf.mq2302.publishSub;import com.qf.mq2302.utils.MQUtils;import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection;public class EmitLog {private static final String EXCHANGE_NAME "logs";public static void main…...

单片机-蜂鸣器

简介 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电 蜂鸣器主要分为 压电式蜂鸣器 和 电磁式蜂鸣器 两 种类型。 压电式蜂鸣器 主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后&…...

华为云云耀云服务器L实例评测 | 分分钟完成打地鼠小游戏部署

前言 在上篇文章【华为云云耀云服务器L实例评测 | 快速部署MySQL使用指南】中,我们已经用【华为云云耀云服务器L实例】在命令行窗口内完成了MySQL的部署并简单使用。但是后台有小伙伴跟我留言说,能不能用【华为云云耀云服务器L实例】来实现个简单的小游…...

Android——数据存储(二)(二十二)

1. SQLite数据库存储 1.1 知识点 (1)了解SQLite数据库的基本作用; (2)掌握数据库操作辅助类:SQLiteDatabase的使用; (3)可以使用命令操作SQLite数据库; …...

appium环境搭建

一.appium环境搭建 1.python3 python3的下载安装这里就不多做介绍了,当然你也可以选择自己喜欢的语音,比如java… 2.jdk 1)下载地址 官网(需登录账号): https://www.oracle.com/java/technologies/downloads/ 百度网盘&…...

十五、Webpack打包图片-js-Vue、Label命令、resolve模块解析

一、webpack打包图片 (1)加载图片案例准备 为了演示我们项目中可以加载图片,我们需要在项目中使用图片,比较常见的使用图片的方式是两种: img元素,设置src属性;其他元素(比如div&…...

ARM指令集--数据处理指令

数据处理指令:数学运算,逻辑运算 立即数 立即数的本质 就是包含在指令当中的数,属于指令的一部分 立即数的优点:取指的时候就可以将其读取到CPU,不用单独去内存读取,速度快 立即数的缺点:不…...

Excel embed into a webpage

无法编辑嵌入式 Excel 网页版 工作簿,但具有适当权限的人员可能能够在 Excel 中打开嵌入的工作簿,他们可以在其中编辑数据。 通过制作一个浏览器,打开并编辑它 https://onedrive.live.com/embed? resid5FC97855340825A9%21135& aut…...

uniapp点击事件在小程序中无法传参

这个问题很是神奇,第一次遇到。在h5中,点击事件可以正常传参,打包小程序后确失效了。 修改:for循环中的key,使用 index就好了...

ssprompt:一个LLM Prompt分发管理工具

阅读顺序 🌟前言🔔ssprompt介绍命令介绍Metafile介绍版本依赖规则 🌊 PromptHubGitHub Token 🚀 Quick Install系统依赖pip安装Linux, macOS, Windows (WSL)Windows (Powershell) 🚩 Roadmap🌏 项目交流讨论…...

长沙专业做网站/百度网站制作联系方式

这个情况出现在QtCreator的2.5版以上,是由于新版QtCreator至少需要7.2 IIRC版的GDB。可以到:http://builds.qt-project.org/job/gdb-windows/下载好使的GDB。转载于:https://www.cnblogs.com/ColdFish_Pegasus/p/3256655.html...

笔记本电脑做网站比较畅快/厦门百度竞价

在我看来能够跳转的Lua插件就是好插件,今天推荐的一款插件就是这么一款。 通过Vscode插件搜索Lua (Lua Language Server coded by Lua),支持跳转定义、查询引用、代码检查、高亮等。 下载好后即可使用。这里说一下设置代码检查配…...

网站上做时时彩代理赚钱吗/男生技能培训班有哪些

关于IAP升级的方法和原理,网上已经有很多资料了,这块就不再说了,现在就将bootloader和app配置方法整理如下: APP程序就是一个简单的LED闪烁。 APP设置为从FLASH中启动: STM32F103C8T6单片机flash有64K…...

徐州企业网站设计/湘潭seo公司

1.模块化的分类A.浏览器端的模块化1).AMD(Asynchronous Module Definition,异步模块定义)代表产品为:Require.js1.实现js文件的异步加载,避免网页失去响应;2.管理模块之间的依赖性,便于代码的编写和维护。 2).CMD(Common Module D…...

建设网站是否应当摊销/百度网址大全设为主页

1、快速计算工龄输入公式:DATEDIF(G2,TODAY(),"y"),回车,搞定!注:计算工龄,我们可以用DATEDIF函数,G2为数据源位置,其余部分直接复制后按下回车,结果就能出来了…...

宁波建设工程主管部门网站/百度云盘网页版

一、实现样式 二、实现思路 1.案例说明: 1.1需求: 文件管理系统,客户根据两个维度(文件标准信息,文件类型信息)信息进行录入,而为了更加方便管理文件,需要针对于标准、类型信息去统…...