js学习笔记(一)

基于树莓派5的AR头显开发:从硬件选型到Unity整合全解析 增强现实(AR)技术通过将虚拟信息叠加到真实世界,为用户提供沉浸式交互体验。其核心原理依赖于计算机视觉进行环境感知与空间定位,并结合实时3D渲染实现虚实融合。在工程实践中,嵌入式平台因其低成本、低功耗特性,成为探索AR应用边界的重要载体。本项目以树莓派5为核心,通过集成OpenCV进行ArUco标记识别实现精准空间定位,并利用MediaPipe完成手势交互,最终在Unity引擎中完成虚实场景的实时渲染与融合,为开发者提供了个完整的、可亲手实践的AR系统开发方案。 阅读详情

1.几个js小技巧

2.Array对象的几个方法

3.操作文档中的form对象

4.js正则表达式使用方式

5.js获取顶层窗口对象的几种方法


一、几个js小技巧

① 使用数组的length属性

var a1 = a2 = [1,2,3];
a1 = [];

以上代码使得a1指向空数组,但是a2还指向[1,2,3],如果使用a1.lenth = 0,则引用不会变而是将数组清空,这样a1,a2就指向同一个空数组了。

②数组的push方法

var a1 = [1,2,3];
var a2 = [4,5,6];
Array.prototype.pust.apply(a1,a2);

以上代码执行后a1=[1,2,3,4,5,6],如果使用常规的var a3 = a1.concat(a2);则需要多构造一个变量。

③特征检测

if(window.opera)
    //some code;
else
    //some code;

这样检测需要初始化特征对象,而是用以下方式检查 秘钥是否在对象里效率更高

if("opera" in window)
    //some code
else
    //some code

④检查对象是否为数组

使用typeof返回值包括数字、字符串、对象、函数、未定义对象和布尔值,但是不包括数组类型。是否是数组可以用如下方式判断:

Object.prototype.toString.call(arrObject);

这样就能检测arrObject是不是一个数组对象了。


二、Array对象的几个方法

①concat() 连接两个或更多数组,并返回结果

var a = new Array(1,2);
var b = new Array(3,4);
var c = new Array(5,6);
var d = a.concat(b);
var e = a.concat(b,c);
var f = a.concat(7,8);
    以上结果为d=[1,2,3,4],e=[1,2,3,4,5,6,],f=[1,2,7,8]。

②pop() 删除并返回数组的最后一个元素

③push() 向数组末尾添加一个或多个元素,返回新的长度

④shift() 删除并返回数组的第一个元素

⑤unshift() 想数组开头添加一个或多个元素,返回新的长度

⑥reverse() 倒序排列数组元素

⑦sort() 升序排列数组元素

⑧slice() 返回已有数组的若干指定元素组成的新数组

var a = new Array(1,2,3,4,5,6,7);
var b = a.slice(2);//b=[3,4,5,6,7]
var c = a.slice(2,5);//c=[3,4,5]
var d = a.slice(-2);//d=[6,7]

⑨toString() 返回数组的字符串形式

⑩join() 返回一个由指定的连接符将数组元素连接成的字符串

var a = new Array(1,2,3);
var b = a.join("#");//返回"1#2#3"
var c = a.join();//没有连接符返回数组自身[1,2,3]
var d = a.join("");//空字符串和没有连接符不是相同的概念,此处返回"123"

三、操作文档中的form对象

    可以通过form表单的name属性获取表单对象,通过表单对象的elements属性获得该表单对象所包含的表单元素。

<form name="fom">
    <input type="text" name="t1" value="t1"/>
    <input type="text" name="t2" value="t2"/>
    <input type="checkbox" name="hobby" value="swimming"/>
    <input type="checkbox" name="hobby" value="running"
</form>
<script type="text/javascript">
	var arr = document.fom.elements;//使用var arr = document.fom或var arr = document.forms[0]或var arr = document.forms[0].elements效果相同
	for(var i = 0; i < arr.length; i++){
		alert(arr[i].value);
	}
</script>
    以上程序将先后alert出“t1”、“t2”、“swimming”、“running”。

四、js正则表达式使用方式

var reg = /\w+\d+/;    //或者var reg = new RegExp("\\w+\\d+");
alert(reg.test("fasdfa1"));
    使用RegExp对象建立正则表达式的时候引号内的"\"字符需要多加一次转义,有时候这会让语义变得更加不可读,所以建议使用第一种方式创建正则表达式对象。

五、js获取顶层窗口对象的几种方法

① 如果知道当前是第几层子窗口,当然可以通过var win = window.parent.parent.....parent; 这种方式获取顶层window对象。

② 使用var win = window.top; 可以直接获得顶层window对象。

③ 编程方式实现

    这种方式需要在顶层窗体中设置一个隐藏的DOM对象:

<div id="tag" style="display:none"></div>
    然后在子页面的js代码中执行如下程序:

var win = window.selt;
var idTag = win.document.getElementById("tag");
while(!idTag){
        win = win.parent.selt;
        idTag = win.document.getElementById("tag");
}
//执行以上程序后win指向顶层window对象


Windows服务器环境下 OpenCode Skill 下载与运行全流程实战指南(小白版) Windows服务器环境下 OpenCode Skill 下载与运行全流程实战指南(小白版),OpenCode技能安装与使用指南,分为四个步骤:1)准备Windows服务器环境并确认OpenCode可用;2)通过Git或直接下载方式获取Skill;3)配置技能路径至.opencode/config.json;4)运行测试技能。关键点包括路径配置必须使用双反斜杠、确保Python环境正确安装、管理员权限运行等。文中提供了文本总结技能的完整案例,从创建skill.yaml和main.py到注册运行的全流程,并针 阅读详情

相关推荐

Test软件:Keysight二次开发_(3).安装与配置开发环境

在开始进行Keysight软件的二次开发之前,首先需要确保您的开发环境已经正确安装和配置。本节将详细介绍如何安装和配置必要的开发工具和依赖项,以便您能够顺利进行开发工作。

2401_87715305的博客 1386

form表单

form元素中的子元素都可以通过form属性来得到form元素。比如input.form   些表单元素可以有required属性,用于表示必填字段。在提交表单,如果必填字段未填写,则会有提示,并且不能提交表单。   所有表单元素都有个checkValidity方法,这个方法返回当前表单元素的值是否有效。     form元素的属性和方法:   action:接收请求的URL,...

weixin_38312226的博客 351

YOLO11 锚框机制全解析:从改进 K-means 聚到自适应优化,附多场景实战(附代码)

摘要 YOLO11的锚框机制采用"自适应、动态化、场景感知"的设计理念,通过数据驱动的锚框生成、多尺度感知分配和实时优化策略,显著提升目标检测性能。相较于早期YOLO版本,YOLO11的锚框完全基于训练集目标分布自适应生成,并引入智能分配策略,使不同尺寸目标获得最优匹配。技术架构包含自适应锚框生成、多尺度分配器和动态优化模块,通过改进的K-means聚和交并比计算实现精准匹配。YOLO11锚框机制在检测精度、训练稳定性和场景适应性方面均有显著提升,为复杂场景下的目标检测提供更优解决方案

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1289

javaScript学习笔记js基础

================================= 公众号 关注波 (叶知秋博客) 不定期分享视频资料 、简介 1、概述: JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码。 诞生于1995年,当时的主要目的是验证表单的数据是否合法。 Java...

一叶知秋 13万+

JS学习笔记)-初识JavaScript

文章目录学习笔记()准备工作初识JavaScriptJS的组成JS书写位置JS注释JS输入输出语句 2021.1.11 学习笔记() 准备工作 今天开始学习Javascript,开始之前先学习开发工具VS Code的几个快捷键和安装些常用插件以及些VS Code生成的骨架标签的含义。 快捷键 !+回车/Tab 自动生成页面骨架结构 Ctrl++/- 放大/缩小视图 Alt+B 在浏览器中打开 Ctrl+/ 注释 常用插件 Chinese(Simplified)Language Pack for

Ludwig1957的博客 1406

JavaScript学习笔记),js变量、以及函数的调用

JavaScript的简介 1.简称为jsJScript-------微软的脚本语言。 javaScript------网景公司的个脚本语言。 2.javascript和java没有关系。他们是两种编程语言。 Java是服务器端的编程语言,js是前端的技术。 3.Js的代码可以减轻服务器端的压力。把要执行的些代码分摊到浏览器上交给js去处理。 二、 Js的第个案例 js代码要写...

Java开发,人工智能,边缘计算,致力于掌握前沿技术 1695

JavaScript学习笔记 js基础

总结自http://www.w3school.com.cn操作 HTML 元素如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。请使用 "id" 属性来标识 HTML 元素:&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;body&gt; &lt;h1&gt;My First Web Pa...

milanac007的专栏 1931

JS-JavaScript学习笔记

javaScript 1.文档的输出:document.write() 可输出字符,表达式,html标签,函数 2.任何型和字符串相加,都会被转换成字符串型。 例如:var i=5; var j="5"; var k=i+j; 结果:k=55 3.运算符优先级(由高到低) 算术操作符->比较操作符->逻辑操作符->"="赋值操作符 ,如果同级的运算按从左到右次

六月心悸 886

JavaScript学习笔记——JS介绍,注释,基本指令,变量

ECMAScript:定义了javasc的语法规范,描述了语言的基本语法和数据型。BOM(Browser Object Model):浏览器对象模型有套成熟的可以操作浏览器的API,通过BOM可以操作浏览器,比如:弹出框,浏览器跳转,获取分辨率等。DOM(Document Object Model):文档对象模型有套成熟的可以操作页面元素的API,通过DOM可以操作页面中的元素,比如:增加个div、减少个div,给div换个位置等。

hurry0422的博客 310

JavaScript学习笔记:你必须要懂的原生JS

1、原始型有哪几种?null是对象吗?原始数据型和复杂数据型存储有什么区别? 原始型有6种,分别是undefined,null,bool,string,number,symbol(ES6新增) 虽然typeof null返回的值是object,但是null不是对象,而是基本数据型的种 原始数据型存储在栈内存,存储的是值 复杂数据型的地址存储...

weixin_30448603的博客 165

JS学习笔记——JavaScript 组成部分及书写位置

JavaScript的组成部分 BOM、DOM、ECMAScript 是 JavaScript 的三大核心组成部分。 三大组成部分: 1、BOM(Browser Object Model)指的是操作浏览器的内容,例如:控制网页滚动条滚动,网页的滚动条是浏览器自带的内容,而不是人为代码生成的。 2、DOM(Document Object Model)指的是操作文档流的内容,例如:JS操控轮播图定时切换。 3、ECMAScript 是 JS 代码的书写语法与规则。 JavaScript 书写位置 1. 行内式

weixin_43328954的博客 412

three js 9 补间动画tween

如果使用了yoyo的动画,且没有加delay,会有如下问题。AI给的解释为这是已知的bug。1 加上个极短的delay。2 改用两个动画相互调用。

吴梓穆的博客 39

Babylon.js 9.0 完全解析 · 第 1 篇:光照系统三件套——Clustered Lighting、纹理面光源与体积光

Babylon.js 9.0 完全解析 · 第 1 篇:光照系统三件套——Clustered Lighting、纹理面光源与体积光

ttod的博客 369

从零到: 创建个 TypeScript 7 项目

本文介绍如何从零创建个基于 TypeScript 7 的 Node.js 项目。项目使用 ECMAScript 模块 (ESM),并提供两条构建路径。TypeScript 编译器负责生成可发布文件,webpack 负责生成独立的 bundle。

除除的博客 191

GitHub 热榜项目:月榜(2026-08-31)

本期22个项目合计新增251,021星,AI智能体技能与记忆工具集中上榜,方向覆盖提示词模板、团队记忆、代码代理控制面、图表生成与逆向安全路由。同时,pdf-inspector 提供本地PDF分提取,OpenLogi 以无账号无遥测方式管理罗技外设,public-apis 继续集中免费API资源。多个项目呈现从次性对话向可复用上下文资产迁移的取向。

u130130的博客 711

hls.js 错误日志深度分析,前端 HLS 播放器问题定位实战

读懂 hls.js 输出的错误日志,是 Web HLS 播放器开发的必备能力。很多播放故障并不是前端播放器代码 bug,而是流媒体源、CDN、鉴权、分片损坏导致。借助网页调试工具做对照复现,结合 type、details、fatal 字段,能够快速划分故障责任边界,避免盲目修改前端代码做无效调试,大幅提升 HLS 业务问题排查效率。

2608_96729545的博客 334

springboot开发高校选课管理系统:从零构建前后端分离的全栈实践

本文介绍了基于Spring Boot与Vue3+Element Plus的高校选课管理系统。系统覆盖课程管理、选课审核、成绩管理等核心业务,通过RBAC实现权限控制。其特点包括真实业务场景模拟、数据库优化设计及前后端分离架构,为全栈开发学习提供实践参考。

Json的知识梦工厂 489

线上Web异常发现为什么总是滞后?套自研Web实时异常分析监控系统整体架构拆解

<think>我们根据要求,需要生成≤150字的文章摘要。文章内容是关于Web端实时异常分析监控系统设计,包括痛点、架构、能力等。摘要需要概括核心内容。注意字数限制。</think>本文围绕Web端实时异常分析监控系统,剖析线上异常排查滞后、复现难、数据割裂等痛点,对比现有方案局限,提出自研分层架构:客户端SDK采集、IndexedDB缓存、双通道上报,后端分析、告警与闭环。系统支持多维度分析、自定义告警、问题追踪,并明确适用边界。

weixin_42268042的博客 226

进阶实战-CloudStudio云IDE远程开发/云原生开发实战(

CSDN 发布信息(发布时填写,不显示):- 标题:云原生开发实战()| 完整远程开发闭环:本地同步 → 云端编码 → 键部署云函数- 分:云计算- 标签:CloudStudio、云函数、腾讯云、Serverless、云原生、远程开发、CodeBuddy。

2501_93047244的博客 311

课:DeepSeek Harness 到底是什么

<think>我们根据要求,生成≤150字的文章摘要。摘要需概括内容:模型不等于Agent,Agent=模型+Harness;Harness是基础平台,Everything is Plugin,Cordis是插件内核;澄清模型、Tool、Plugin区别;提供安装实操路线,推荐先npm方式。尽量精简。</think>摘要:模型≠Agent,Agent=模型+Harness。DeepSeek Harness是组装Agent的基础平台,核心设计“Everything is a Plugi

2201_75538301的博客 309

BOC调制解调系统的码跟踪抖动标准差随载噪比变化曲线的matlab性能仿真,含仿真操作录像

1.版本:matlab2021a,包含仿真操作录像,操作录像使用windows media player播放。2.领域:BOC调制解调3.内容:BOC调制解调系统的码跟踪抖动标准差随载噪比变化曲线的matlab性能仿真。对比Unambiguous和KFPELTA。4.注意事项:注意MATLAB左侧当前文件夹路径,必须是程序所在文件夹位置,具体可以参考视频录。

PUBG罗技鼠标宏自动压强系列2025出

C++实现,图形界面使用QT5.15.2,图像处理部分使用OpenCV4.5.1自动识别的配件有:倍镜、枪口、握把,支持单击开镜与长按开镜两种,支持自定义枪械参数仅靠截图识别并通过罗技的鼠标宏实现压枪,不修改其他任何文件!支持GHUB与LGS,不过需注意的是由于GHUB先天性缺陷,因此GHUB不支持连点支持1920x1080、2560x1080、2560x1440、3440x1440分辨率,2560x1440、3440x1440可能部分情况下识别会有问题,因为我没有2k的显示器,所以请自行测试有问题在群里反馈先放出成品测试,后面会继续开源使用单击开镜时需将识别速率调高点,否则开镜后开枪过快会出现不压枪的情况,个人推荐长按开镜比较稳定支持血雾修正

上一篇: Spring AOP学习笔记
下一篇: jQuery学习笔记(基于jquery.1.10.2进行的验证)之一
Augus6
博客等级 码龄14年 4粉丝 25原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值