JavaScript 基础

什么是JavaScript

 

        JavaScript 是一种运行在客户端(浏览器)的编程语言,实现人机交互效果

JavaScript 的作用:

        1. 网页特效(监听用户的一些行为让网页做出对应的反馈)

        2. 表单验证(针对表单数据的合法性进行判断)

        3. 数据交互(获取后台的数据,渲染到前端)

        4. 服务端编程 (node.js)

JavaScript 的组成:

        1. ECMAScript :规定了js的基础语法核心内容。比如变量,分支语句,循环语句,对象

        2. Web APIS:

                DOM : 操作文档,比如对页面元素进行移动,大小,添加删除等操作

                BOM :操作浏览器,比如页面弹窗,检测窗口宽度,存储数据到浏览器  

JavaScript 的书写位置:

        1. 内部JavaScript 

               一般直接写在HTML文件里,用script标签包住

        2.外部 JavaScript

                代码写在以.js结尾的文件里,通过script标签,引入HTML中

        3.行内 JavaScript

                代码写在标签内部

JavaScript 的注释方法:

        1.单行注释   //

        2. 多行注释  /**/

JavaScript 的输出语法:

        1. document.write('要输出的内容')

                作用:向body内输出内容

                注意: 写在HTML 页面

document.write('我是要输出的内容')document.write('<h1>我是标题</h1>')

        2. alert('输出的内容')

               作用:弹窗

        3. console.log('检查')

                作用:控制台输出语法,程序员自己使用

JavaScript 的输入语法

        1.prompt ('请输入密码')

     效果

JavaScript 的声明变量的方法

        1. let  用let声明的变量不能多次声明 

//先声明在赋值
let age;//声明变量 age
age = 18; //=是赋值// 同时声明和赋值  变量初始化
let age = 18; 

        2. var

 JavaScript 的声明常量的方法

        const  使用const声明的变量为常量

                注意:常量不允许重新赋值,生命的时候必须赋值

const pi=3.14

 js数据的基本类型

undefined :未定义型
string :用单引号或双引号来声明的字符串
boolean true false
number :整数或浮点数
null : 空类型

引用数据类型:

                  object 

typeof运算符

typeof 变量,可以判断是什么类型,是什么类型就返回什么类型

 

JS运算符

有两组用于比较值的操作符:等值操作符(==!=)和严格等值操作符(===!==),通常称为"相等"和"全等"

等值操作符 (== 和 !=)
等值操作符比较两个值是否相等,不考虑它们的数据类型。如果两个操作数的值相等,那么相等操作符返回 true,否则返回 false。在比较之前,如果操作数具有不同的数据类型,会尝试进行类型转换。

严格等值操作符 (=== 和 !==)
严格等值操作符比较两个值是否相等,并且要求它们的值和数据类型都完全相等。只有当两个操作数的值和类型都相等时,严格等值操作符才返回 true,否则返回 false

 

 

字符串转数字

字符串转换为数字,如果值不是数字的话,则转为NaN

其他类型转为boolean

Number:0和NaN为false,其他ture

String:空字符串为false,其他为true

Null和undefined:都是false

JS函数

用于执行特定任务的代码块

js和java定义不太一样,要用function定义

 

JS对象

基础对象

Array

const numbers = [1, 2, 3, 4, 5];
const fruits = ["apple", "banana", "orange"];
const mixed = [1, "hello", true, { name: "John" }]
console.log(numbers[0]); // 输出 1,访问第一个元素
console.log(fruits[1]); // 输出 "banana",访问第二个元素
console.log(mixed[3].name); // 输出 "John",访问对象元素的属性
numbers[2] = 100; // 修改第三个元素为 100
console.log(numbers); // 输出 [1, 2, 100, 4, 5]

String

JSON

 

BOM对象(浏览器对象模型)

DOM对象(文档对象模型)

Array数组 (长度可以变,类型也可以变)

有两种定义方式

//第一种
var num = [1,2,3]
//第二种
var num =new Array [1,2,3]

 遍历数组

 forEach():遍历数组中有值的内容,需要写一个函数

 

push(值1,值2):添加元素到数组末尾 ,可以添加多条数据,用逗号隔开

splice(开始索引,删除几位):删除元素

自定义对象

js当中的对象创建比较简单,注意属性和函数之间都是有逗号去分割的

//创建
        var myObj = {
            name:'张三',
            age:15,
            show:function(){
                console.log("我的名字是"+name,"年龄为"+age)
            }
        };
        //调用
        myObj.name;
        myObj.show();
用构造函数创建

// 使用构造函数来创建对象
function Person(name, age) {// 设置对象的属性this.name = name;this.age = age;// 设置对象的方法this.sayName = function () {console.log(this.name);};
}var person1 = new Person("孙悟空", 18);
var person2 = new Person("猪八戒", 19);
var person3 = new Person("沙和尚", 20);console.log(person1);
console.log(person2);
console.log(person3);

事件

 

BOM对象
浏览器对象模型,允许js与浏览器ui话,js把浏览器的各个部分都封装成了对象

主要的五个对象

Window 浏览器窗口对象

Screen        屏幕对象

Location        地址栏对象

History        历史记录对象

Navigator        浏览器对象

Window浏览器窗口对象

可以直接用window.方法();

window可以省略直接调他的方法

属性
histoy:获取history对象的只读引用

location:用于窗口或者框架的loation对象

navigator:对navigator对象的只读引用

方法
alert(信息):显示带有一段消息和确认的按钮的警告框

confirm(信息):显示带有一段消息以及确认按钮和取消按钮的对话框

有返回值,可以用变量去接收他(确认--true    取消---false)

setInterval(函数,时间):按照指定周期(毫秒)来调用函数或者计算表达式

时间是输入数字按照你输入的数字间隔去调用第一个参数的函数,函数可以自己定义也可以调用

会调用多次

setTimeout(函数,时间):在指定的毫秒数后调用函数或计算表达式

根据输入的时间延迟,之后调用函数

延迟事件调用一次函数

Location
Location.href   获取当前页面的地址栏

DOM对象
文档对象模型,JS就是通过DOM对象和事件监听来控制html页面的

将标记语言的各个部分封装为对应的对象

Document        整个文档对象

Element        元素对象

Attribute        属性对象

Test        文本对象

Comment        注释对象

可以操作:

改变HTML元素内容

改变HTML元素的样式(css)

对HTML DOM事件做出反应

添加和删除HTML元素

Dom树
整个dom文档的结构

img储存的是一个href的属性对象,是图片的路径

节点属性

		<div id="box"><p id="hello">hello world!</p><a href="">11</a><p>today is Sunday.</p><a >zhang </a></div><script>var box=document.getElementById("hello");hello.parentNode.removeChild(hello);</script>
节点信息
  • nodeName:节点名称
  • nodeValue:节点值
  • nodeType:节点类型
 查找

 获取

 修改内容

 修改元素

关系选择器

 

 

 

 

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

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

相关文章

如何使用 ChatGPT 为 Midjourney 或 DALL-E 等 AI 图片生成提示词

人工智能为创意产业开辟了一个充满可能性的全新世界。人工智能最令人兴奋的应用之一是生成独特且原创的艺术品。Midjourney 和 DALL-E 是人工智能生成艺术的两个突出例子&#xff0c;吸引了艺术家和艺术爱好者的注意。在本文中&#xff0c;我们将探索如何使用 ChatGPT 生成 AI …

如何配置一个永久固定的公网TCP地址来SSH远程树莓派?

文章目录 如何配置一个永久固定的公网TCP地址来SSH远程树莓派&#xff1f;前置条件命令行使用举例&#xff1a;修改cpolar配置文件 1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 …

java版直播商城平台规划及常见的营销模式 电商源码/小程序/三级分销+商城免费搭建 bbcbbc

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务…

自己实现Linux 的 cp指令

cp指令 Linux的cp指令就是复制文件&#xff1a; cp: 拷贝(cp 拷贝的文件 要拷贝到的地址或文件)&#xff0c;cp b.c test.c 将b.c拷成test.c的一个新文件 Linux 系统初识_mjmmm的博客-CSDN博客 实现思路 打开源文件读文件内容到缓冲区创建新文件将读到的文件内容全部写入新文…

TEMU美国儿童文具亚马逊CPC测试标准

美国站儿童文具类上架跨境电商平台美国站或者出口美国需要提交CPC认证&#xff0c;才能进入美国市场&#xff0c;由CPSC 认可的实验室出具的检测报告&#xff0c;确认每件商品均已过检测&#xff0c;符合上述适用要求。但许多亚马逊卖家反映&#xff1a;在亚马逊卖的文具类产品…

基于Java+SpringBoot制作一个智能用电小程序

在当今快节奏的生活中,高效利用能源变得越来越重要。制作一个智能用电小程序,旨在帮助您更智能地管理家庭电器的用电,从而提升能源利用效率,助您掌握用电情况,降低能耗成本,实现绿色低碳生活。 目录 一、小程序1.1 项目创建1.2 首页轮播图快捷导航iconfont图标引入

Spring Boot通过切面实现方法耗时情况

Spring Boot通过切面实现方法耗时情况 依赖 <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.9.1</version></dependency>自定义注解 package com.geekmice.springbootself…

Interface 中 的 default 方法、static方法

Interface 中 的 default 方法、static方法 来源示例 之前学习/工作中一直没特别注意过Interface 中 的 default 方法、static方法,一早上来偶然看见做以记录。 来源 在 JDK1.8 时&#xff0c;接口中添加了 default 关键字和 static 关键字修饰的方法。defalut 修饰的方法标注…

5G用户逼近7亿,5G发展迈入下半场!

尽管普遍认为5G投资高峰期正在过去&#xff0c;但是从2023年上半年的情况来看&#xff0c;我国5G建设仍在衔枚疾走。 近日举行2023年上半年工业和信息化发展情况新闻发布会上&#xff0c;工信部人士透露&#xff0c;截至今年6月底&#xff0c;我国5G基站累计达到293.7万个&…

阿里云官方关于数据安全保护的声明

“阿里云监控用户的数据流量&#xff1f;”“真的假的&#xff1f;”随着近日早晨 朱峰肥鹅旅行 对阿里云的一条朋友圈截图传遍了整个IT圈。 对于网络上的各种传播&#xff0c;以下是阿里云的官方答复&#xff0c;原文如下&#xff1a; 关于数据安全保护的声明 今天有客户反映…

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

前言 在做性能测试时&#xff0c;如果有一个性能测试结果实时展示的页面&#xff0c;可以极大的提高我们对系统性能表现的掌握程度&#xff0c;进而提高我们的测试效率。但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试&#xff0c;而且它自带的监视器效…

uniapp微信小程序底部弹窗自定义组件

基础弹窗效果组件 <template><view><viewclass"tui-actionsheet-class tui-actionsheet":class"[show ? tui-actionsheet-show : ]"><view class"regional-selection">底部弹窗</view></view><!-- 遮罩…

2023-08-07 LeetCode每日一题(反转字符串)

2023-08-07每日一题 一、题目编号 344. 反转字符串二、题目链接 点击跳转到题目位置 三、题目描述 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、…

Jmeter 压测工具使用手册[详细]

1. jemter 简介 jmeter 是 apache 公司基于 java 开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简 单。因为 jmeter 是 java 开发的&#xff0c;所以运行的时候必须先…

自动配置要点解读

目录 要点1&#xff1a;什么是自动配置&#xff1f; 要点2&#xff1a;配置文件与默认配置 要点3&#xff1a;自动配置设置思想来源 要点4&#xff1a;spring.factories文件作用 要点5&#xff1a;自动配置的核心 本文只对自动配置的思想进行基本的解读&#xff0c;不涉…

【深度学习中的批量归一化BN和层归一化LN】BN层(Batch Normalization)和LN层(Layer Normalization)的区别

文章目录 1、概述2、BN层3、LN层4、Pytorch的实现5、BN层和LN层的对比 1、概述 归一化(Normalization) 方法&#xff1a;指的是把不同维度的特征&#xff08;例如序列特征或者图像的特征图等&#xff09;转换为相同或相似的尺度范围内的方法&#xff0c;比如把数据特征映射到[…

(论文复现)DeepAnt模型复现及应用

DeepAnt论文如下&#xff0c;其主要是用于时间序列的无监督粗差探测。 其提出的模型架构如下&#xff1a; 该文提出了一个无监督的时间序列粗差探测模型&#xff0c;其主要有预测模块和探测模块组成&#xff0c;其中预测模块的网络结构如下。 预测结构是将时间序列数据组…

element-ui表格数据为空,图片占位提示

当表格的绑定数据为空时常需要显示暂无数据等字样&#xff0c;这时候就用到了empty-text <el-table:data"tableData"stripeborderempty-text"暂无数据"> 但&#xff0c;当数据为空&#xff0c;想用图片展示呢&#xff0c;如下图 方法一&#xff1a…

STM32 低功耗-停止模式

STM32 停止模式 文章目录 STM32 停止模式第1章 低功耗模式简介第2章 停止模式简介2.1 进入停止模式2.1 退出停止模式 第3章 停止模式程序部分总结 第1章 低功耗模式简介 在 STM32 的正常工作中&#xff0c;具有四种工作模式&#xff1a;运行、睡眠、停止以及待机模式。 在系统…

jupyter lab环境配置

1.jupyterlab 使用虚拟环境 conda install ipykernelpython -m ipykernel install --user --name tf --display-name "tf" #例&#xff1a;环境名称tf2. jupyter lab kernel管理 show kernel list jupyter kernelspec listremove kernel jupyter kernelspec re…