前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件

简介: 本文介绍了JavaScript变量的声明和使用、标识符的命名规则、如何获取和操作HTML元素,以及JavaScript的鼠标事件处理,通过示例代码展示了这些基础知识点在实际开发中的应用。

一、JavaScript变量

变量是存储数据的容器,例x=10,则x中存储的值为10。
语法:var 变量名 = 值。

1.1、变量的声明

先声明后赋值

var x; // 声明变量x
alert(x); // undefined 所有声明了但是没有赋值的变量,结果都为undefined
X = 10; // x赋值为10

在声明的同时赋值

var x = 'LiuQing';

同时声明多个变量,每个变量用逗号隔开,建议换行书写,没声明完时,后面要写逗号。

var x = 666,
    y = false,
    z = 'LiuQing';

二、JavaScript标识符

标识符,就是指变量、函数、属性的名字,或者函数的参数。
2.1、标识符的命名规则

  • 只能以数字、字母、下划线、$组成。
  • 不能以数字开头。
  • 不能使用关键字、保留字。
  • 具有语义化,即见名知义。
  • 小驼峰命名,如:userName、passWord。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、JavaScript获取元素

2.1、JavaScript调试命令

常用的调试命令有alert()与console.log()。
alert命令直接在页面弹出信息,一次只能显示一个数据,并且没有点击确定之前,不能显示下一个数据。
console.log命令,在控制器台打印数据,一次可以打印多个,并且不会堵塞。

var a = 10;
var b = 20;
// 1.一次只能打印一个信息
alert(a,b); // 10
alert(b); // 没有点击确定之前,这个不会显示

// 2.同时打印多个信息
console.log(a,b);

2.2、操作元素内容

元素内容指的是开始标签和结束标签中间的内容部分,单标签是没有内容的,但是有一种标签比较特殊,那就是表单标签,表单标签的内容存储在属性value中,因此能操作元素内容的标签有两种,闭合标签和表单标签。

2.2.1、操作表单元素内容
操作表单元素的内容使用的是表单元素的 value 属性。
语法

  • 获取表单元素内容:表单元素.value
  • 设置表单元素内容:表单元素.value = 值

例:

<input type="text" id="ipt">
<script>
    // 1.获取标签
    var ipt= document.getElementById("ipt");
    // 2.获取input的value值
    var val = ipt.value;
    console.log(val);

    // 2.设置input的内容
    ipt.value = 54321;
</script>

在这里插入图片描述
第一次打印的信息是空,表示默认值为空

上面代码中,通过标签.value操作表单元素的内容,其他的表单元素内容也是一样的操作方式。

例:

<textarea cols="30" rows="10" id="text">FAFDA</textarea>
<select id="se">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<script>
   // 3.textarea操作内容
   var text = document.getElementById("text");
   text.value = "ujiuye";
   console.log(text.value); // ujiuye

   // 4.下拉列表操作内容
   var se = document.getElementById("se");
   se.value = "2";
   console.log(se.value); // 2
</script>

在这里插入图片描述
2.3、操作闭合标签内容

闭合标签的内容如果需要设置或者修改,使用的是闭合标签的 innerHTML,innerText 属性。
语法:

  • 获取闭合标签内容:标签.innerHTML, 标签.innerText;
  • 设置闭合标签内容:标签.innerHTML = ‘内容值’,
  • 标签.innerText = ‘内容值’;

特点

  • 用于操作闭合标签内容,会覆盖,后面写的会覆盖前面已经存在的
  • innerHTML能够识别标签,innerText不能识别标签

例:

<div id="mes">123</div>
var oP = document.getElementById("mes");
// 1.设置内容值
oP.innerHTML = '这是通过innerHTML设置的文本';

// 2.innerHTML会覆盖原本的内容,如果还想要之前的,之前+现在
oP.innerHTML = oP.innerHTML + '这是通过innerHTML设置的文本';

// 3.innerHTML可以识别标签
oP.innerHTML = "<span>我是一个span</span>";

// 4.innerText :不能识别标签
oP.innerText = "<span>我是一个span</span>";

上面代码中,可以通过innerHTML与innerText属性操作标签的内容部分,不同的是,innerHTML可以获取和识别标签,但是innerText不可以。

2.4、JavaScript操作元素属性

为 HTML 元素提供各种附加信息的就是 HTML 属性,它总是以 “属性名 = 属性值” 这种名值对的形式出现,而且属性总是在HTML元素的开始标签中进行定义。
语法:

  • 获取标签的属性值:标签.属性名
  • 设置标签的属性值:标签.属性名 = "属性值 "

特殊:
操作class属性的时候,需要使用className,标签.className = “属性值”

例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
</head>

<body>
  <div id="box" title="LiuQing">张俊卿</div>
  <script>
    var oDiv = document.getElementById("box");
    // 1.获取title属性值
    var t = oDiv.title;
    console.log(t);
    // 2.设置title属性
    oDiv.title = "张俊卿";
  </script>
</body>

</html>

在这里插入图片描述
所有元素的属性操作基本都是标签.属性,但是有一个属性比较特殊那就是class,class是保留字,不能直接使用,操作标签的class属性的语法为:标签.className。

例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    div {
   
      width: 100px;
      height: 100px;
      background: red;
    }

    .active {
   
      width: 200px;
      height: 200px;
      background: pink;
    }
  </style>
</head>

<body>
  <div class="box" id="box">LiuQing</div>
  <script>
    var oDiv = document.getElementById("box");
    // 1.获取class
    var className = oDiv.className;
    console.log(className);
    // 2.设置class
    oDiv.onclick = function () {
   
      oDiv.className = "active";
    }
  </script>
</body>

</html>

在这里插入图片描述

以上代码在点击box时,将会给box添加类名active,即box最后的样式变为宽高200,背景粉色。

2.5、点操作符和中括号操作符
在上面操作元素的属性时,都是使用的点操作符,其实也可以使用中括号操作符

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    div {
   
      width: 100px;
      height: 100px;
      background: red;
    }

    .active {
   
      width: 200px;
      height: 200px;
      background: pink;
    }
  </style>
</head>

<body>
  <div class="box" id="box" title="mySelfTitle">LiuQing</div>
  <script>
    var oDiv = document.getElementById("box");
    // 1.获取title属性值
    var t = oDiv["title"];
    console.log(t);

    // 2.设置title属性
    oDiv["title"] = "LiuQing";

    // 3.中括号操作符的正确使用场景
    var tit = "title";
    console.log(oDiv[tit]); // 当是变量时,就只能使用中括号操作符,不能使用点操作符
  </script>
</body>

</html>

在这里插入图片描述
当是某一个具体的属性名时,用点操作符。当是某一个变量时,用中括号操作符,中括号里面放这个变量

2.6、JavaScript操作元素样式

元素样式是写在 style 标签或 style 属性中,用来设置元素的外观的。
语法:

  • 获取元素样式属性:元素.style.样式名
  • 设置元素样式属性:元素.style.样式名 = “样式值”
    特殊:
    在js中不允许出现font-size这种连接符形式的属性,都需要使用驼峰标识替代
标签.style.fontSize = "样式值"

例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    #box {
   
      background-color: red;
    }
  </style>
</head>

<body>
  <div id="box">LiuQing</div>
  <script>
    var oDiv = document.getElementById("box");
    // 1.设置oDiv宽度为200
    oDiv.style.width = "200px";
  </script>
</body>

</html>

在这里插入图片描述
例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    #box {
   
      background-color: red;
    }
  </style>
</head>

<body>
  <div id="box">LiuQing</div>
  <script>
    var oDiv = document.getElementById("box");
    // 1.操作属性oDiv.style.background = 'red';
    oDiv.style.width = '200px';
    oDiv.style.fontSize = '20px';
  </script>
</body>

</html>

在这里插入图片描述
使用js操作css属性时,像添加width,height这些只有单个单词时,直接使用语法定义:标签.style.属性名 = 属性值。添加类似font-size这种由“两个单词”组成的属性时需要把“-”去掉,第二个单词首字母大写,符合驼峰命名法
即:标签.style.fontSize=’30px’。

三、JavaScript的鼠标事件

onclick :点击事件
ondblclick :双击事件
onmouseover : 鼠标移入元素
onmouseout : 鼠标离开元素
onmouseenter :鼠标移入元素
onmouseleave :鼠标离开元素
onmousemove: 鼠标在元素中移动
onmousedown: 鼠标按下
onmouseup: 鼠标抬起
oncontextmenu :鼠标右键菜单事件
.

例子:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
</head>

<body>
  <div id="box">我是box元素</div>
  <script>
    // 1.onclick :点击事件
    document.getElementById("box").onclick = function () {
    
      console.log("点击了");
    }
    // 2.onmouseover :鼠标移入元素
    document.getElementById("box").onmouseover = function () {
    
      console.log("鼠标移入元素");
    }
  </script>
</body>

</html>

在这里插入图片描述

目录
相关文章
|
4月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
368 0
|
4月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
349 1
|
4月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
340 1
|
10月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
348 56
|
4月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
168 0
|
10月前
|
JavaScript 前端开发 API
|
10月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
396 8
|
10月前
|
JavaScript 前端开发 容器
|
10月前
|
JavaScript 前端开发
|
10月前
|
存储 JavaScript 前端开发

热门文章

最新文章