web前端JS—基本语法

一、引入方式

1、内部脚本:将代码定义在HTML页面里面

  • 将JS定义在<script></script>之间
  • 可以在html里面的任意位置放置任意数量的<script></script>
  • 一般放置在<body>元素的底部,改善显示速度
<script> console.log('页面加载时执行'); function localFunction() { return '内部函数'; } </script>

2、外部脚本:额外定义一个.js文件,引入到HTML里面

  • 只能包含js文件,不包含<script>标签
 <script src="app.js"></script> 
  • <script>不能自闭合
<script src="https://cdn.example.com/lib.js" integrity="sha384-xxx" crossorigin="anonymous"> </script>

二、基本语法

1. 变量声明

JavaScript 提供了三种声明变量的方式:

  • var:传统声明方式,存在变量提升,函数作用域。        
    • 全局变量,作用域较大;
    • 可以重复定义
  • let:ES6 引入,块级作用域,不存在变量提升,不允许重复声明。
    • 局部定义,不能重复定义
  • const:ES6 引入,块级作用域,声明常量,不可重新赋值(但对象或数组的内容可以修改)。
  • 原始类型:Number、String、Boolean、Null、Undefined、Symbol(ES6)、BigInt(ES2020)。
  • 引用类型:Object(包括Ar

2. 数据类型

JavaScript 是动态类型语言,拥有以下几种基本数据类型和引用类型:

var x=20; x="LXX";

Read more

《C++实战项目-高并发内存池》8. 最终性能优化与测试

《C++实战项目-高并发内存池》8. 最终性能优化与测试

💡Yupureki:个人主页 ✨个人专栏:《C++》 《算法》《Linux系统编程》《高并发内存池》 🌸Yupureki🌸的简介: 目录 1. 使用基数树进行优化 2. 性能测试 完整项目链接https://github.com/Yupureki-code/ConcurrentMemoryPool 1. 使用基数树进行优化 现内存池中存在一个比较严重的性能问题:PageCache需要加锁。特别是查找页ID到Span的映射时 因为PageCache中不断存在修改的情况,如果在一个线程查询的过程中,另一个线程同时把这个Span给拿走了,那就出大问题了。同时这把锁直接把整个PageCache给锁住了,因此对锁的竞争会很严重,同时没抢到锁的线程会一直在外面干瞪眼,这造成了严重的性能浪费 因此,Google的大佬们使用了一个新的数据结构:基数树 感兴趣的可以了解:Linux Kernel:内核数据结构之基数树(Radix Tree) - 知乎 基数树,写之前会提前开好空间,写数据过程中,不会动结构。 因为读写是分离的。线程1对一个位置读写的时候,线程2不

By Ne0inhk
cursor无法使用c/c++扩展导致代码无法跳转,研究了一下解决方法

cursor无法使用c/c++扩展导致代码无法跳转,研究了一下解决方法

一、前言 都知道vscode为了保护自己的copilot,对c/c++扩展做了私有化的处理,非vscode不能使用。但是当前阶段,copilot是不如cursor的,要用cursor又不能实现C代码跳转,非常痛苦。 二、用c/c++扩展(硬用) 网上有,退回到1.23.6版本,教程很多,这里不说。 三、用cursor自带c/c++扩展 可能很多人没意识到cursor已经自带该扩展了,只是安装好过后,不能直接跳转,这里说一下自带的c/c++扩展是怎么个事。 3.1 需要的插件 这是cursor自己的c/c++扩展,你可能说我装了,没用。 说一下,要想使用,需要clangd,codeLLDB,Cmake Tools,安装c/c++扩展后另外三个会自动安装。到现在还不能用。

By Ne0inhk
Java + Spring AI智能体开发实战|从小白到专家|零代码构建全能AI助手

Java + Spring AI智能体开发实战|从小白到专家|零代码构建全能AI助手

🌟 从文档解析到知识图谱构建|多模态智能交互新范式|Java + Spring AI 实战指南 在人工智能浪潮席卷全球的今天,构建一个能听、能说、会思考的AI智能体(AI Agent)早已不再遥不可及。如今,仅需少量代码,你也可以打造一个具备自然语言理解、工具调用、知识检索与智能规划能力的「全能AI助手」。 今天,我们就走进一个开源项目 —— 👉 Len AI Agent ,看看它是如何融合当下最前沿的技术架构,赋能开发者快速构建下一代智能应用的。 📚 使用场景:为什么你需要一个AI智能体? 随着 ChatGPT、通义千问等大模型技术的普及,越来越多的企业和个人开始尝试将AI融入实际业务流程中: 场景需求✅ 内容创作自动生成文章、报告、PPT✅ 知识问答快速解答员工/客户的常见问题✅ 客户服务机器人7x24小时响应咨询请求✅ 数据提取分析一键读取PDF、网页内容并做总结✅ 自动化任务执行调用工具生成文件、搜索网络信息 而这些需求的核心,正是我们今天要介绍的主角—— 💡 Len AI Agent 😎 🏗️ 架构设计:强大而灵活的技术栈

By Ne0inhk

Java工业级缓存实战系列(一):多级缓存架构设计与落地(Redis客户端+Redisson全方案)

Java工业级缓存实战系列(一):多级缓存架构设计与落地(Redis客户端+Redisson全方案) * 前言 * 一、缓存核心认知与架构设计 * 1.1 缓存核心分类与价值 * 1.2 缓存三大核心问题(定义+业务影响) * 1.3 分布式缓存技术选型前提 * 二、本地缓存基础落地(Caffeine首选) * 2.1 主流本地缓存方案对比 * 2.2 工业级Caffeine配置与实战 * (1)统一常量类(系列共用,标准化配置) * (2)Caffeine配置类(Spring Bean管理,全局复用) * (3)本地缓存业务层封装(工业级规范) * 三、分布式缓存方案一:Redis原生客户端实现(Lettuce+Jedis) * 3.1 Redis客户端深度对比(Lettuce vs

By Ne0inhk