自学内容网 自学内容网

Java前端基础——JavaScript

一、初识JavaScript

1.1 什么是JavaScript

JavaScript (简称 JS), 是⼀个脚本语言, 解释型或即时编译型的编程语言.  虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中.  

JavaScript和HTML与CSS之间的关系:

如果说HTML是骨架,那么CSS就是皮肉,JavaScript就是人物的动作。

0617ce9fb1874aeb81f7962e180029e1.png


1.2 JavaScript 快速上手 

ceb7d8a939bd47f89ad31b554af798a1.png


1.3 JS引入方式

和CSS一样,JavaScript的引入方式页有三种:

c4fcf3701c1e4d219f43da99ad43b8f5.png

 与CSS一样,在企业开发中主要使用外部样式。

示例:

1.外部样式

823dde34a82d49d9be864e5894e7195f.png

2.内部样式

cf27b61e6440443994602f7b8865c059.png

3.行内样式

4abacc048d224f649d80fc6e5936b0a9.png

4e43313404ce4f9584f115de3cb1e3c5.png


二、基础语法

2.1 变量

JS有三种声明变量的方式:
221fe8d047ee47f4970cb94ad3a4ea61.png

!!!注意: 

与Java不同,JavaScript是一门动态弱类型语言,一个类型的变量可以存放不同类型的值(动态)。如:

var name = "haha";
var age = 18;

并且随着程序的运行,变量的类型可能会发生改变。(弱类型)如:

let name = "haha";
name = 18;

示例:

fc4e223c35c34199b834f22d0291beac.png

我们所学的Java是静态强类型语言, 在变量声明时, 需要明确定义变量的类型. 如果不强制转换, 类型不会发生变化

!!!变量命名规则: 

1. 组成字符可以是任何字母、数字、下划线(_)或美元符号($)

2. 数字不能开头 

3. 建议使用驼峰命名 + 表示字符串拼接, 也就是把两个字符串首尾相接变成一个字符串. 

4. \n 表示换行


2.2  数据类型

虽然JavaScript是弱类型语言,但还是有数据类型,分为原始类型和引用类型:
f00683d5a7b44849957c82336fa7a7b9.png

使用typeof函数可以返回变量的数据类型:

<script>
 var a = 10;
 console.log(typeof a);//number
 var b = 'hello';
 console.log(typeof b);//string
 var c = true;
 console.log(typeof c);//boolean
 var d;
 console.log(typeof d);//undefined
 var e = null;
 console.log(typeof e);//null
</script>

执行结果:

ac88bb2e5ea94e5583e7805f7e6a0b43.png


2.3 运算符

JavaScript的运算符和Java的基本相同,只有几处不同:

23ca80adeb914983b127bc4c01b09e6f.png

不同点:
1.  /  :Java中 5/2 = 2 而JavaScript中 5/2 = 2.5;

c9ee8128d0014596b8e99d93aa931765.png

 

2. == :不比较类型,只比较值是否相等

3. === :比较类型,值和类型都相等才相等

6414834c237549698fbf3433a962b7bd.png

 

4. !== :不比较类型(与3类似的逻辑)


三、JavaScript对象

3.1 数组

3.1.1 数组的定义

创建数组有两种方式:

1.使用new关键字创建:

//注意:Array大写以及与Java的区别
let array = new Array();

2.使用字面量方式创建:

//与Java不同,这里使用的是中括号
let array = [];
let array2 = [1,2,"haha",false];

注意: JS 的数组不要求元素是相同类型.


3.1.2 数组操作

1. 读: 使用下标的方式访问数组元素(从 0 开始) 

2. 增: 通过下标新增, 或者使用 push 进行追加元素 

3. 改: 通过下标修改 

4. 删: 使用 splice 方法删除元素 

 示例:

<script>
 var arr = [1, 2, 'haha', false];

 //读取数组 
 console.log(arr[0]); //1

 //添加数组元素 
 arr[4] = "add"
 console.log(arr[4]);//add

 console.log(arr.length);//5, 获取数组的⻓度 

 //修改数组元素 
 arr[4] = "update"
 console.log(arr[4]);//update

 //删除数组元素 
 arr.splice(4,1);// 第⼀个参数表⽰从下标为4的位置开始删除. 第⼆个参数表⽰要删除的元
素个数是 1 个 

 console.log(arr[4]);//undefined 元素已经删除, 如果元素不存在, 结果为undefined 

 console.log(arr.length);//4, 获取数组的⻓度 
</script>

小知识:
 1.如果删除数组中不存在的元素,是不会执行成功的,如一个数组有5个元素,删除1000下标的元素。

2.如果将一个元素插入到数组的-1下标,会执行成功,但是数组长度不变。

注意:

1. 如果下标超出范围读取元素, 则结果为 undefined

2. 不要给数组名直接赋值, 此时数组中的所有元素都没了. (比如array = ”abc“,本来array是一个数组,但是现在被改为字符串了)


3.2 函数

3.2.1 语法

// 创建函数/函数声明/函数定义 
function 函数名(形参列表) {
 函数体
 return 返回值;
}
// 函数调⽤ 
函数名(实参列表) // 不考虑返回值 
返回值 = 函数名(实参列表) // 考虑返回值 

  和Java一样,函数需要调用才能执行,并且调用几次就执行几次,如:

61f801ce67954b008edb6996be9642aa.png

注意:函数定义和调用的顺序没有要求,可以先使用后定义。

 4704b9347aee41218bff09bdaad7f720.png


3.2.2 函数参数个数问题

实参和形参之间的个数可以不匹配. 但是实际开发一般要求形参和实参个数要匹配。

<1>实参个数多了

1cfee794da7c47d99f497f2648f60048.png

多出的参数不参与运算。

<2>实参个数少了

aad33eaa57b74765a6c86630d9d64bc9.png

多出来的形参值为undefined。


3.2.3 函数表达式

函数表达式是定义函数的另一种方法

var add = function() {
 var sum = 0;
 for (var i = 0; i < arguments.length; i++) {
 sum += arguments[i];
 }
 return sum;
}
console.log(add(10, 20)); // 30
console.log(add(1, 2, 3, 4)); // 10
console.log(typeof add); // function

 此时通过变量add来调用整个匿名函数function()。


3.3 对象

在 JS 中, 字符串, 数值, 数组, 函数都是对象. 每个对象中包含若干的属性和方法.   

属性: 事物的特征. 

方法: 事物的行为.  

1. 使用字面量创建对象 [常用]

var a = {}; // 创建了⼀个空的对象 
var student = {
 name: '蔡徐坤',
 height: 175,
 weight: 170,
 sayHello: function() {
 console.log("hello");
 }
};

使用 { } 创建对象 

属性和方法使用键值对的形式来组织.

键值对之间使用 , 分割. 最后⼀个属性后面的, 可有可无

键和值之间使用 : 分割 

方法的值是⼀个匿名函数.

 

!!!如何使用对象的属性和方法?

// 1. 使⽤ . 成员访问运算符来访问属性 `.` 可以理解成 "的" 
console.log(student.name);
// 2. 使⽤ [ ] 访问属性, 此时属性需要加上引号 
console.log(student['height']);
// 3. 调⽤⽅法, 别忘记加上 ()  
student.sayHello();

 

 2. 使用new Object 创建对象 

var student = new Object(); // 和创建数组类似 
student.name = "蔡徐坤";
student.height = 175;
student['weight'] = 170;
student.sayHello = function () {
 console.log("hello");
}
console.log(student.name);
console.log(student['weight']);
student.sayHello();

!!!使用 { } 创建的对象也可以随时使用student.name = "哈啊哈"; 这样的方式来新增属性. 

 

3.使用构造函数创建对象 

function 构造函数名(形参) {
 this.属性 = 值;
 this.⽅法 = function...
}
var obj = new 构造函数名(实参);

示例: 

function Cat(name, type, sound) {
   this.name = name;
   this.type = type;
   this.miao = function () {
   console.log(sound); // 别忘了作⽤域的链式访问规则 
 }
}
var mimi = new Cat('咪咪', '中华⽥园喵', '喵');
var xiaohei = new Cat('⼩⿊', '波斯喵', '猫呜');
var ciqiu = new Cat('刺球', '⾦渐层', '咕噜噜');
console.log(mimi);
mimi.miao();

 

注意: 

在构造函数内部使用 this 关键字来表示当前正在构建的对象. 

构造函数的函数名首字母一般是大写的. 

构造函数的函数名可以是名词. 

构造函数不需要 return 

创建对象的时候必须使用 new 关键字. 

(和Java一样)


四、JQuery

jQuery是⼀个快速、简洁且功能丰富的JavaScript框架。

4.1 引入依赖

方法一:将JQuery库下载到本地,再引入

第一步:通过官网下载https://releases.jquery.com/

第二部:选择最新版的缩小版,保存到本地

efc479118c214023b8edc82a68bc4fb7.png

3cc57dfeb94b4d9983cf24558d701d55.png

第三步:引入依赖,在src中输入保存的位置即可

61687568e78945ac9e620c4d05f4af7e.png

方法二:再浏览器中直接引入

1.点击最新版的缩小版

fe3b873277da40b2b2f5d85db315a730.png

2.复制后粘贴到html文件中即可

5dd564149ff94fd49ae1c57cb56ec758.png

开发时, 建议把JQuery库下载到本地, 放在当前项目中. 引入外部地址, 会有外部地址不能访问的风险. ,而且本地的访问速度要更快


4.2 JQuery语法

jQuery 语法是通过选取 HTML 元素, 并对选取的元素执行某些操作 

基础语法:

$(selector).action()

$() 是⼀个函数, 它是 jQuery 提供的⼀个全局函数, 用于选择和操作 HTML 元素. 

Selector 选择器, 用来"查询"和"查找" HTML 元素 

action 操作, 执行对元素的操作 

JQuery代码一般写在document ready函数中,这是为了防止在文档加载完成之前就运行JQuery代码(可能导致操作失败)

$(document).ready(fuction(){

    //JQuery代码

});

示例: 

635af8d404d54fd3ad1d6b9e9254a45b.png


4.3 JQuery选择器

JQuery选择器 基于已经存在的CSS选择器, 除此之外, 还有⼀些⾃定义的选择器. 

jQuery 中所有选择器都以 $ 开头:$().

 

7a7a8a8b091d4bf59dbcc399a98231b7.png


4.4 JQuery事件

JS 要构建动态页面, 就需要感知到用户的行为。

用户对于页面的⼀些操作(点击, 选择, 修改等) 都会在浏览器中产生一个个事件, 被 JS 获取到, 从而进行更复杂的交互操作。(和Java的GUI用户图形化界面差不多)

事件由三部分组成: 

1. 事件源: 哪个元素触发的

2. 事件类型: 是点击, 选中, 还是修改?

3. 事件处理程序: 进⼀步如何处理. 往往是⼀个回调函数. 

例如:

9906d1d934e34e54aab20f546d3b65d8.png

常见的事件类型:

2749a5c49adf420997d62e7897f4994b.png


4.5 操作元素

4.5.1 获取/设置元素内容

下面有3个简单的JQuery方法

09e4422f09d84dbfb24256770c12d9a1.png

这三个方法既可以获取元素内容又可以设置元素内容,当有参数时是设置元素,没有参数时是获取元素内容。

示例一:获取元素

af4487e79e944b9d84e928865f0ace4a.png

 

实列二:设置元素

设置元素是时text和html也是有区别的:

52080d576f504876abff20e1a25d9c36.png

2e47f4329888466d8e82c6ce72907b98.png

对于获取表单元素的内容,html和text是不起作用的,要使用val方法。

例如:

b5019bc90e72459f9e663fc2063ae616.png

设置表单元素的值也是如此。


4.5.2 获取/设置元素属性

 可以使用attr()方法获取到元素的属性。

示例一:获取属性

23cf1c5894af456eada733657b7f89d1.png

示例二:设置属性(第一个参数表示要获取的属性,第二个参数表示要将这个属性修改成的值)

38e528d3ffb244e8b148e1ca90916bf6.png


4.5.3 获取/设置CSS属性

css() 方法设置或返回被选元素的一个或多个样式属性  

示例一:获取CSS属性

d658dc3e61d345c88590eb6d1960b192.png

示例二:修改CSS属性,与attr()方法一样,传入第二个参数用来修改当前选中的属性的值

460487076e4c48b7ac41f05e8b17ad75.png

颜色由棕色变为了黑色


4.5.4  添加元素/删除元素

添加HTML内容:

1. append() : 在被选元素的结尾插入内容 

2. prepend() : 在被选元素的开头插入内容 

3. after() : 在被选元素之后插入内容

4. before() : 在被选元素之前插入内容 

示例:0fa13549c8f04db281520efc0d796ac7.png

 

 

删除元素 

删除元素和内容,一般使用以下两个 jQuery 方法: 

1. remove() : 删除被选元素(及其子元素) 

2. empty() : 删除被选元素的子元素。 

示例:

1.remove()

62e7e4b574034051b6ef9826bd886277.png

2.empty()

58afff253e674ff28aae51e908ee929f.png

 


原文地址:https://blog.csdn.net/zhakakqns/article/details/143872636

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!