前端初学日记 (三) JS

javaScript

概述

JavaScript一种直译式脚本语言,用来为网页添加各式各样的动态功能 (javaScript可以操作网页内容),不需要编译可直接通过浏览器解释运 行,通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

脚本语言

是不需要编译的语言,eg:sql、python、html、css、javaScript...

直接有某种引擎解释执行,逐行向下按行执行。

关系

html是结构,css是样式,javaScript是行为

历史

javaScript原名为LiveScript,由美国网景公司开发。是一种脚本语言,在网页中使用运行。

网景和SUN合作,改名为javaScript。

基本语法

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入外部的js文件 --><script src="js/index.js"></script><script>// 调用对话框函数// alert("sb");// 自定义函数function test(){alert("sb");}</script></head><body><input type="button" value="点击" onclick="test()"/></body>
</html>

变量_数据类型

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>//变量声明// var a;//  a=10;//数值//  alert(a);//  a="asd";//字符串//  alert(a);//数值、布尔、字符串、undefined、object数值num(整数、浮点数)var a=10;var b=9.5;alert(typeof(a));alert(typeof(b));//布尔bolleanvar c=true;var d=false;alert(a==b);//字符串(单双引号都表示字符串)var e="asdfghjkl";var f='asdfghjkl';alert(typeof(e));//undefinedvar g;alert(g);//对象类型var date=new Date;alert(date.getFullYear());alert(date.getMonth()+1)alert(date.getDate());</script></head><body></body>
</html>

运算符

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>//算术运算符 + - * / % ++ --//+:加法 字符串连接var a='10';var b=5;var c=10;var d='a';// alert(a+b);//字符串连接// alert(b+c);//加法// alert(a-b);//5// alert(c-b);//5 (字符串[数字]-数值=数值)// alert(c-d);//NaN (not a number)//...//赋值运算符 += -= /= %= *=//比较运算符 = == === != > >= < <=alert(a==c)//值比较alert(a===c)//值型比较//逻辑运算符 && || !//三目运算符 var result = (条件表达式)?结果1:结果2</script></head><body></body>
</html>

函数

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>// function fun(){//  alert("sb");// }// // fun();// function test(a,b){//  alert(a+":"+b)// }// var now='NOW';// test(now,new Date());//全局函数/*把括号内的内容转换成整数之后的值。如果括号内是字符串,则字符串开头的数字部分被转换成整数,如果以字母开头,则返回"NaN"*/var a=123.321;// alert(parseInt(a));var b=5;var c="10asd";// alert(b+parseInt(c));/*把括号内的字符串转换成浮点数之后的值,字符串开头的数字部分被转换成浮点数,如果以字母开头,则返回“NaN”*/// alert(parseFloat(c));/*返回括号中值的数据类型。*/// alert(typeof(a));// alert(typeof(c));/*可以计算某个字符串把传入的字符串当作js脚本运行*/var d="(2*4*8*16*32)/(2**15)";alert(eval(d));</script></head><body></body>
</html>

DOM

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>/*javaScript认为每个标签都是对象在js中称其为html dom对象在网页加载完后,在js中生成一个document对象(表示整个html文档)里面提供了一个方法getElementById()*/function test(){var tobj=document.getElementById("test1");//通过标签id获得标签对象var yobj=document.getElementById("test2");//操作标签属性alert(tobj.value);yobj.value=tobj.value;tobj.value="";tobj.type="button";}function fun(){var tdivobj=document.getElementById("id1");var ydivobj=document.getElementById("id2");//innerText可以获得标签的文本内容//innerHTML可以获得标签的所有内容ydivobj.innerHTML=tdivobj.innerHTML;}function run(){var rdivobj=document.getElementById("id3");//改变标签stylerdivobj.style.backgroundColor="green";rdivobj.style.width="200px";rdivobj.style.height="200px";}function lick(){//getElementsByTagName 返回的是一个标签对象的集合,只有一个标签// var divobjs=document.getElementsByTagName("div");// var divobjs=document.getElementsByClassName("box");var divobjs=document.getElementsByName("a");for (var i=0;i<divobjs.length;i++){divobjs[i].innerHTML="a"+i;divobjs[i].style.width="250px";}}</script></head><body><input type="text" id="test1" value=""/><input type="text" id="test2" value=""/><input type="button" onclick="test()" value="飞"/><br /><div id="id1">html dom对象</div><div id="id2"></div><input type="button" onclick="fun()" value="飞"/><br /><div id="id3" style="background-color: aquamarine;">asd</div><input type="button" onclick="run()" value="飞"/><br /><div class="box" name="a" style="background-color: aquamarine;width: 100px;height: 100px;"></div><br /><div class="box" name="a" style="background-color: aquamarine;width: 100px;height: 100px;"></div><br /><div class="box" name="a" style="background-color: aquamarine;width: 100px;height: 100px;"></div><input type="button" onclick="lick()" value="飞"/></body>
</html>

内置对象

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>// Date var date=new Date();console.log(date.getDate());console.log(date.getFullYear());console.log(date.getMonth());console.log(date.getDay());console.log(date.getHours());console.log(date.getMinutes());console.log(date.getSeconds());//...// Math Math.abs(-6);// 绝对值计算;Math.pow(2,3);//  数的幂;x的y次幂Math.sqrt(16);//  计算平方根;Math.ceil(4.4);//  对一个数进行上舍入Math.floor(4.4);//  对一个数进行下舍入。 Math.round(x) 把一个数四舍五入为最接近的整数Math.random();//  返回 0 ~ 1 之间的随机数Math.max(1,5);//  返回 x 和 y 中的最大值Math.min(1,5);//  返回 x 和 y 中的最小值//字符串 var str="asdfghjkl";console.log(str.length);//返回该字符串的长度console.log(str.charAt(3));//返回该字符串位于第n位的单个字符console.log(str.indexOf("g"));//返回指定char首次出现的位置console.log(str.lastIndexOf("g"));//返回指定char从后往前第一次出现的位置console.log(str.substring(1,3));//返回从开始位置的索引到结束位置索引前一个位置的一段字符串console.log(str.substr(1,3));//返回以开始位置起长为length的一段字符串console.log(str.split(""));//返回一个数组//数组//法一var arr=new Array();arr[0]=1;arr[1]=2;arr[2]=true;arr[3]="asd";//法二var arr=new Array(1,2,true,"asd");//法三var arr=[1,2,true,"asd"];//数组循环输出for(var i=0;i<arr.length;i++){console.log(arr[i]);}
​var arr=[1,2,true,"asd"];var a=arr.join(":");//把数组转换为字符串,并指定一个连接符号arr.reverse();//数组逆序//数组字符排序var arr=["b","d","a","c"];arr.sort();console.log(arr);//数组数字排序var arr=[2,,9,15,3,5,1];arr.sort(numSort);//将自定义排序函数当作参数传入console.log(arr);//自定义排序函数function numSort(a,b){return a-b;}</script></head><body></body>
</html>

控制语句

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>//与java基本一致//选择 if if/else switch//循环 for while do/while break continue</script></head><body></body>
</html>

事件

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>function test(){console.log("sb");}</script></head><body><!-- onclick 单击左键触发 --><input type="button" value="点击" onclick="test()"/><!-- onblur 失去焦点时触发 --><input onblur="test()"/><!-- onfocus 获得焦点时触发 只触发一次 --><input onfocus="test()"/><!-- onmouseover 鼠标移入标签时触发 --><!-- onmouseout 鼠标移出标签时触发 --><input onmouseover="test()" onmouseover="test()"/><!-- onload 当网页内容加载完后触发 --><!-- onchange 失去焦点且内容改变时触发 --><input onchange="test()"/></body>
</html>

计时事件

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>function hello(){alert("sb");}var t;var u;function stratTime(){t=setInterval("hello()",3000);// u=setInterval("hello()",5000);}function stopTime(){clearTimeout(t);// clearTimeout(u);}</script></head><body><input type="button" value="strat" onclick="stratTime()"/><input type="button" value="stop" onclick="stopTime()"/></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/39512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么使用MarkDown画矩阵

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 今天写文章需要用到矩阵&#xff0c;记录一下 画矩阵需要用到特殊的语法 &#xff08;1&#xff09;画普通矩阵&#xff0c;不带括号的 $$be…

【3】系统标定

文章目录 雷达标定相机主雷达标定底盘动力学标定车辆循迹验证建图 雷达标定 主要是为了获得到lidar到imu的tf关系。imu为父坐标lidar为子坐标。其他雷达标定到主lidar坐标系下。 标定的结果都是生成一个是四元数。 #mermaid-svg-crOWRnT4UE0jtJVy {font-family:"trebuch…

linux内核驱动第一课(基于RK3568)

学习Linux驱动需要以下基础知识&#xff1a; C语言编程&#xff1a;掌握C语言是开发Linux驱动程序的基本要求。操作系统原理&#xff1a;了解操作系统的基本概念和原理&#xff0c;如进程管理、内存管理、中断处理等。Linux内核&#xff1a;熟悉Linux内核的结构和工作机制&…

【代码随想录算法训练Day55】LeetCode 42.接雨水、LeetCode 84. 柱状图中最大的矩形

Day55 单调栈第二天 LeetCode 42.接雨水 典中典题目&#xff0c;我们还是运用了单调栈的思路&#xff0c;在大的一侧入栈时记录下标&#xff0c;右边界就是当前入栈元素&#xff0c;底就是栈顶元素&#xff0c;左边界就是左边最近的比栈顶大的值&#xff0c;也就是栈顶元素的…

Vue报错:Module not found: Error: Can‘t resolve ‘less-loader‘ in ‘文件地址‘

原因&#xff1a;Webpack无法找到 less-loader 模块&#xff0c;但在<style langless></style>中进行使用。less-loader 是一个Webpack的加载器&#xff0c;它用于将less文件编译成CSS。如果Webpack无法解析这个加载器&#xff0c;它就无法处理less文件&#xff0c…

【STM32HAL库学习】通信方式:USART、IIC、SPI

通信的目的&#xff1a;将一个设备的数据传送到另一个设备&#xff0c;扩展硬件系统 通信接口区别 名称引脚双工时钟电平设备USARTTX、RX全双工异步单端点对点I2CSCL、SDA半双工同步单端多设备SPISCLK、MOSI、MISO、CS全双工同步单端多设备CANCAN_H、CAN_L半双工异步差分多设…

通过A/B测试优化返利App的功能设计

通过A/B测试优化返利App的功能设计 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 什么是A/B测试&#xff1f; A/B测试是一种通过对比两个或多个版本的产品或…

Halcon机器视觉定位--模板匹配

一 Halcon模板匹配归纳 二 形状匹配算子介绍 find_shape_model( Image ,//待搜索图像 ModelID, //模版图像 AngleStart, //起始角度 AngleExtent, //角度范围 MinScore, //最小匹配分数 NumMatches, //匹配数目 MaxOverlap, //重叠度 SubPixel, //搜索精度 Greediness ,//自信度…

【免费数字孪生平台】医院数据可视化的新选择

随着大数据、云计算、人工智能等技术的深度融合&#xff0c;医院数据智能化升级已成为推动医疗服务质量飞跃的关键力量。 医院作为守护生命健康的前沿阵地&#xff0c;每天处理着海量的医疗数据。从患者病历、检查结果到医疗设备运行状态、医疗资源分配&#xff0c;每一项数据都…

还用老气的Excel做报表?试试这款“免费”可视化工具,快速制作3D智慧社区!

随着科技的飞速发展&#xff0c;智慧社区已经成为现代城市管理的重要组成部分。作为这一领域的核心工具&#xff0c;3D智慧社区可视化大屏凭借其先进的技术和强大的功能&#xff0c;正在逐步改变我们的生活方式。今天给大家分享一个 基于山海鲸可视化开发的3D可视化大屏的案例—…

【哈尔滨等保测评标准解析】

哈尔滨信息安全等级保护测评&#xff08;等保测评&#xff09;标准解析如下&#xff1a; 一、总体概述 哈尔滨市在进行等保测评时&#xff0c;遵循国家统一的标准框架&#xff0c;并结合本省的实际情况&#xff0c;形成了具有地方特色的安全防护模式。等保测评的主要目的是确…

【kubernetes】常用命令

常用命令 [资源类型]&#xff1a; pod [po] node [no] service [svc] namespace [ns] deployment [deploy] 等等 # 查看资源 kubectl get [资源类型]# 创建pod kubectl run [pod名] --imagenginx# 创建服务&#xff1a;deployment kubectl create deployment [deploy名] --ima…

DFS练习

105 从前序与中序遍历序列构造二叉树 import java.util.HashMap; import java.util.Map;class TreeNode {int val;TreeNode left;TreeNode right;public TreeNode(int val) {this.val val;} }public class Letcode105 {public TreeNode bulidTree(int[] preOrder, int[] inOrd…

探囊取物之多形式登录页面(基于BootStrap4)

基于BootStrap4的登录页面&#xff0c;支持手机验证码登录、账号密码登录、二维码登录、其它统一登录 低配置云服务器&#xff0c;首次加载速度较慢&#xff0c;请耐心等候&#xff1b;演练页面可点击查看源码 预览页面&#xff1a;http://www.daelui.com/#/tigerlair/saas/pr…

上帝之眼(BEVSee):多相机间无需标定,将各自目标统一到同一坐标系下(代码开源,提供数据集)

Abstract 我们解决了一个新的问题&#xff0c;即在鸟瞰视角&#xff08;BEV&#xff09;中无需预先给定相机校准的多视角相机和目标注册问题。这将多视角目标注册问题提升到一个新的无需校准的阶段&#xff0c;从而极大地缓解了许多实际应用中的限制。然而&#xff0c;这是一个…

Unity 3D软件下载安装;Unity 3D游戏制作软件资源包获取!

Unity3D&#xff0c;它凭借强大的功能和灵活的特性&#xff0c;在游戏开发和互动内容创作领域发挥着举足轻重的作用。 作为一款顶尖的游戏引擎&#xff0c;Unity3D内置了先进的物理引擎——PhysX。这一物理引擎堪称业界翘楚&#xff0c;能够为开发者提供全方位、高精度的物理模…

认识软件测试

认识软件测试 软件测试能力要求一、软件测试的步骤1.需求2.测试点3.测试用例4.执行测试用例5.缺陷管理6.测试报告 一、测试用例&#xff08;test case&#xff09;**用例编写要素**&#xff1a; 测试用例设计方法1.等价类2.边界值3.判定表法4.场景法 软件测试能力要求 软件测试…

使用Java开发工具包有哪些优势

哈喽&#xff0c;大家好呀&#xff0c;淼淼又来和大家见面啦&#xff0c;Java是一门广泛应用于企业级应用、安卓开发、大数据处理等领域的编程语言&#xff0c;其强大的生态系统和卓越的跨平台能力离不开Java开发工具包&#xff08;Java Development Kit, JDK&#xff09;的支持…

Linux系统中交叉编译opencv库

目标&#xff1a;将opencv进行交叉编译&#xff0c;使其能在rk3326板子上运行使用。 环境&#xff1a; ubuntu&#xff1a;18.04 opencv:4.5.4 opencv源码从挂网下载&#xff1a;opencv源码下载地址 交叉编译链&#xff1a;gcc-arm-10.3-linux-gun 一.环境准备 1.交叉编译链我…

CVPR 最佳学生论文,一键启动「BioCLIP 生物分类的层次预测 Demo」,帮你快速识别生物种类

很多生物由于外形的相似程度较高&#xff0c;难以使用肉眼进行区分。美国俄亥俄州立大学、微软研究院、加州大学欧文分校、伦斯勒理工学院共同发布了「BioCLlP: A Vision Foundation Model for the Tree of Life」&#xff0c; 基于 TREEOFLIFE-10M 这样的大规模标记数据集&…